Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

RocksDB is awesome, though don't use it with regular glibc malloc because it can cause extreme memory fragmentation. Use jemalloc, tcmalloc, or mimalloc: basically any other advance malloc libraries that can effectively reuse memory.


This goes for pretty much every C++ program. I doubt there are any useful programs for which the GNU allocator is optimal.


globc malloc works reasonably well if threads are not used (nginx and postgres are examples of apps which don’t rely on threads), but if an app uses many threads on multi core CPU shortcomings of glibc malloc (or advantages of jemalloc) become more obvious, especially if you use some LTS Linux distro with an old glibc.


For databases maybe.

However, most programs do not need to allocate so much memory, so frequently that an allocator become an issue.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: