8 ms·
Jemalloc 5.4.0
- ZenoArrow 13d agoWhy is this on the HN front page? Is there something particularly noteworthy about this release?
- gjvc 13d agobecause people like you are too busy whining about it to put up something more interesting
- aktenlage 13d agoThey resumed development on jemalloc only recently, after years of no releases.
- charcircuit 13d agoDevelopment was never stopped for jemalloc. This is a common misconception. There just were not releases being tagged and packaged against the ongoing development.
- ck45 13d agoI just checked whether it's the first release after Jason Evans stepped down as maintainer, but it isn't. That was the previous release, 5.3.1
- defrost 13d agoThe noted resumption and likely a small amount of halo effect from the Comparison of Malloc() Algorithms thread two / three days ago. - https://news.ycombinator.com/item?id=49715318 https://news.ycombinator.com/item?id=49715318
- baq 13d agojemalloc is something you should be aware of if you do software for a living
- rfgplk 13d agoWhy? Writing a memory allocator is quite simple, and I'd argue that _everyone_ should write one from scratch for any kind of high performance application. It's also trivial to outperform general purpose allocators that have to satisfy countless constraints. I've written numerous special purpose mallocs that are a) both provably (formally) safer than the standard armada and b) significantly faster (>10x throughput).
- groomlake 13d agoYour experience writing memory allocators is irrelevant. The point is that jemalloc is widely used and that’s why it makes sense to be aware of it.
- HackerThemAll 13d agoI'd happily see performance, latency and stability of your allocators in massively multithreaded, long-living programs with workloads where hundreds or thousands of parallel threads continuously create and destroy short-lived small and medium objects. Writing allocators for domain-specific access patterns is easy. Writing a general-purpose high performing, stable allocator with bounded P99 latency is hard. Give your friend, Dunning–Kruger, some better pills to keep him from speaking through you.
- Pannoniae 13d agoYou're correct, but his point is that you don't need to solve the generic problem. Solving the generic problem is very hard. Grug doesn't like solving hard problem. What does grug do? Solve five easy problems. Make an arena for the short-lived objects, reuse the objects, use generic multithreaded malloc for the rest. Grug happy.
- matheusmoreira 13d agoNot everything needs to be general purpose. Allocation can be as easy as bumping a pointer, and it's hard to beat that.
- 13d ago
- imhoguy 13d agoI upvoted it because I benefit from jemalloc in my stack (RoR) and I am tired of AI taking over HN front page. Let the hacker spirit be back!
- adityapatadia 13d agoUpvoted for the same reason. We would not be able to run our workloads without Jemalloc. Kudos to this awesome piece of software.
- smartmic 13d agoYou are not alone - my first thought was 'oh, HN is trying to bring back the disappointed hackers'. All this AI hype over every little model update fart is so exhausting and boring …
- kreco 13d ago> Why is this on the HN front page? This question was not necessary. You know the answer, because people upvoted this.
- vocx2tx 13d agoFor some context on why this release is notable: Jemalloc Postmortem [0] [0] https://news.ycombinator.com/item?id=44264958 https://news.ycombinator.com/item?id=44264958
- ezst 13d ago> I don’t want to dwell on drama, but it is perhaps worth mentioning that we reached a sad end for jemalloc in the hands of Facebook/Meta even though most of the people involved were acting in good faith. Far from the only case. Trillion dollar companies having sudden interest in your open source project is not necessarily a long term benefit.
- titanomachy 13d agoI thought it was developed internally there
- beanjuiceII 13d agobut then we can't make it all about ripping on big companies
- eatonphil 13d agoAnd some additional context from a few months ago, building off the postmortem. https://theconsensus.dev/p/2026/04/16/who-even-uses-jemalloc-anyway.html https://theconsensus.dev/p/2026/04/16/who-even-uses-jemalloc...
- nextaccountic 13d agoAlso, 7 months ago, https://github.com/facebook/jemalloc https://github.com/facebook/jemalloc said > Development of Jemalloc will transition back to the original open source project: https://github.com/jemalloc/jemalloc https://github.com/jemalloc/jemalloc. Meta’s fork of the Jemalloc project will be fully archived as part of the transition. We look forward to continuing the collaboration with the community to drive jemalloc. > See blog post for details: https://engineering.fb.com/2026/03/02/data-infrastructure/investing-in-infrastructure-metas-renewed-commitment-to-jemalloc/ https://engineering.fb.com/2026/03/02/data-infrastructure/in...
- lordnacho 13d agoI always wondered, is it French? "Je m'alloc du memory"
- u8080 13d agoMemory je Srbia
- sam_lowry_ 13d agoRather a tradition to call a malloc by the initials of the implementer: Jason Evans malloc (jemalloc), Poul-Henning Kamp malloc (phkmalloc), Doug Lea (dlmalloc). P.S. I also wondered whether systemd had any cultural reference to Système D aka Système Débrouillard, but Pottering does not seem to engage in word play on other occasions, so probably not.
- tefkah 13d agodamn i always thought it was a french thing, this is blowing my mind
- eliaspro 13d ago"Yes, it is written systemd, not system D or System D, or even SystemD. And it isn't system d either. Why? Because it's a system daemon, and under Unix/Linux those are in lower case, and get suffixed with a lower case d." Source: https://brand.systemd.io/ https://brand.systemd.io/
- NewJazz 13d agoI love how autocorrect thinks I mean to type systems, not systemd. I mean they are one key away on qwerty and systemd is definitely not a word.
- fizzbuzzbarbazz 13d agoyou were right, check siblings of your comment.
- 13d ago
- ksec 13d agoOk. Why both the homepage and its Github repo doesn't make a single mention of Jason Evans? I know he stepped down but surely it is at least worst mentioning it? Is Meta still using it and developing it? If not who are the driving force behind it now? I just checked there wasn't a release since 2022 and then we have this now. Something changed? Just wish we have a little bit of context. But it is also great it is continue being maintained. It makes a huge difference for Ruby on Rails Apps.
- aktenlage 13d ago> Just wish we have a little bit of context See the comment of vocx2tx
- throw0101a 13d ago> See the comment of vocx2tx https://news.ycombinator.com/item?id=49750698 https://news.ycombinator.com/item?id=49750698 To: * https://news.ycombinator.com/item?id=44264958 https://news.ycombinator.com/item?id=44264958 * https://jasone.github.io/2025/06/12/jemalloc-postmortem/ https://jasone.github.io/2025/06/12/jemalloc-postmortem/
- feldrim 13d agoIt's only mentioned in history: https://github.com/jemalloc/jemalloc/wiki/Background#history https://github.com/jemalloc/jemalloc/wiki/Background#history
- loeg 13d agoIt's got "JE" in the name.
- skavi 13d agodoes anyone familiar with the art have thoughts on why only tcmalloc switched from thread caches to cpu caches? would it make linux behavior diverge too much from other platforms?
- enduku 13d agoI think tcmalloc gains on thread churn and oversubscription by going the cpu-cache route on Linux. on other platforms, I am not so sure but that can be offset by say a treiber-stack like setup for cross-thread frees/teardowns. So lesser code for Linux for similar fastpath design I guess.
- jeffbee 13d ago> on other platforms, I am not so sure tcmalloc only works on Linux.
- rwmj 13d ago(Not an expert but ...) unless you pin threads to cores, which is not the default and somewhat awkward in Linux for user applications, having a per-thread cache doesn't really make sense as your thread could be moved to another core and then your cache will no longer be local to the physical cache.
- skavi 13d agoi think we agree that per cpu caching seems superior. i’m looking for the other side of this. most allocators seem to have stuck with per thread.
- Someone 13d agoIf you use a thread-local data structure, your allocator can pretend that it is running on a single-core, single-task system. If you use a CPU-local data structure, you must handle the case where, mid-way through a call to your allocator, the CPU runs a second thread that makes another call to your allocator (and that, too, can get interrupted by another thread that allocates memory, etc.) That makes thread-local easier to implement and likely faster (it doesn’t require any memory barriers in the fast path) Also, good schedulers try to avoid moving threads between CPUs. The better they manage to do that, the lower the cost of having per thread data structures (there likely still is a price, as there most of the time are more threads than CPUs on a system)
- albertgoeswoof 13d agoI switched to jemalloc on a sidekiq queue and memory dropped from 8gib to under 1gib There’s a slow memory leak somewhere in my code but with jemalloc it no longer actually matters. Thanks to jemalloc team for this!
- nvartolomei 13d agohttps://devblogs.microsoft.com/oldnewthing/20180228-00/?p=98125 https://devblogs.microsoft.com/oldnewthing/20180228-00/?p=98...
- paper2d 13d agoThis is the most funny thing I read today!
- cduzz 13d agoFun bugs in missiles are sometimes unfun. https://www-users.cse.umn.edu/~arnold/disasters/patriot.html https://www-users.cse.umn.edu/~arnold/disasters/patriot.html
- albertgoeswoof 13d agoHa, it’s like that for us except we deploy an update at least every few months, which obliterates our machine and restarts then launch sequence
- throw0101a 13d agoRelated, from three days ago, "Comparison of Malloc() Algorithms": * https://news.ycombinator.com/item?id=49715318 https://news.ycombinator.com/item?id=49715318
- atombender 13d agoI use Jemalloc on a project because it has per-thread allocation counters. This lets me not only track what each thread is using, but also restrict workloads by enforcing a memory budget. Since my application is almost completely CPU-bound, I allocate one thread per core and then have some smart scheduling to route requests to the threads. I looked at tcmalloc and mimalloc, and neither had this feature at the time, nor did they seem to have any similar feature that could let me have per-thread heaps, which surprised me.
- ggg011012 13d agoNice to see jemalloc active again. The long-term health of the upstream project is probably just as important as the allocator improvements themselves.
- collimarco 13d agoJemalloc is great for Ruby on Rails apps, and drastically reduces memory usage for the same workloads. We use it for all our Ruby / Rails apps running on Kubernetes / Cuber: https://answers.abstractbrain.com/how-to-enable-jemalloc-for-ruby-docker-image https://answers.abstractbrain.com/how-to-enable-jemalloc-for...