Use jemalloc as the daemon's memory allocator

A full table from several neighbors means millions of small, long-lived
allocations that are replaced as routes change. jemalloc keeps the
resident size of such a workload closer to what is in use than the
system allocator does, glibc's in particular, and does not depend on
the C library the binary is linked with. Not on MSVC, which jemalloc
does not support.

Building now needs a C compiler and make; the installation page says
so.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Rayhaan JaufeerallyandClaude Opus 5.5 committed 2026-10-04 01:03:16 +02:00
1 parent 9ce81a873e
commit 361c48f656
5 files changed
+60

No files matched your search

@@ -14,6 +14,9 @@ Cargo, or build a container image with the provided `Dockerfile`.
- A stable Rust toolchain from [rustup.rs](https://rustup.rs). The container
image uses Rust 1.92.
- A C compiler and `make`, to build the jemalloc memory allocator that the
daemon uses (for example `build-essential` on Debian and Ubuntu,
`base-devel` on Arch Linux, or the Xcode command line tools on macOS).
- Linux, for kernel route installation. On other operating systems, Ferrix
operates as a BGP speaker only and does not modify forwarding.