Switching to the system allocator
Vector has switched from using jemalloc to the system allocator
Since version 0.2.0, Vector has used jemalloc as its memory allocator on *nix-based OSes. As part of
some ongoing performance work, we’ve made the decision to switch to the system allocator provided by the platform
Vector is deployed on. This will be either the GNU Allocator for glibc-based builds (like
Debian) or the musl allocator for musl-based builds (like Alpine Linux).
In environments where Vector has access to multiple CPUs, we recommend using the glibc-based builds as, at the time of
writing, we have observed that the GNU allocator performs
better when running on multiple threads.
If you are installing one of the packages or release assets listed on the release page,
then you will be getting a glibc build. musl builds are available through the full release asset
listing.
If you are running Vector in Docker, we recommend using the v0.14.0-distroless-libc image for a light-weight Vector
image; however the v0.14.0-debian image will also be using the GNU Allocator. The v0.14.0-alpine and
v0.14.0-static images use musl as glibc is not available there.
This change was made largely because we had insufficient evidence and motivation to use anything other than the system allocator which is a sensible default otherwise. As we have a better understanding of Vector’s allocation profile, it is likely we will revisit this decision.