8 ms·
Jason, here is a story about how much your work impacts us. We run a decently sized company that processes hundreds of millions of images/videos per day. When w
by adityapatadia 1y ago
Jason, here is a story about how much your work impacts us.
We run a decently sized company that processes hundreds of millions of images/videos per day. When we first started about 5 years ago, we spent countless hours debugging issues related to memory fragmentation.
One fine day, we discovered Jemalloc and put it in our service, which was causing a lot of memory fragmentation. We did not think that those 2 lines of changes in Dockerfile were going to fix all of our woes, but we were pleasantly surprised. Every single issue went away.
Today, our multi-million dollar revenue company is using your memory allocator on every single service and on every single Dockerfile.
Thank you! From the bottom of our hearts!
- laszlojamf 1y agoI really don't mean to be snarky, but honest question: Did you donate? Nothing says thank you like some $$$...
- onli 1y agoIt was a meta project and development ceased. For a regular project that expectation is fine, but here it does not apply IMHO.
- adityapatadia 1y agoWe regularly donate to project via open collective. We frankly did not see here due to FB involvement I think.
- thewisenerd 1y agoindeed! most image processing golang services suggest/use jemalloc the top 3 from https://github.com/topics/resize-images https://github.com/topics/resize-images (as of 2025-06-13) imaginary: https://github.com/h2non/imaginary/blob/1d4e251cfcd58ea66f8361f8721d7b8cc85002a3/Dockerfile#L90 https://github.com/h2non/imaginary/blob/1d4e251cfcd58ea66f83... imgproxy: https://web.archive.org/web/20210412004544/https://docs.imgproxy.net/#/memory_usage_tweaks?id=using-jemalloc https://web.archive.org/web/20210412004544/https://docs.imgp... (linked from a discussion in the imaginary repo) imagor: https://github.com/cshum/imagor/blob/f6673fa6656ee8ef17728f2eb3af466d541043dd/Dockerfile#L78 https://github.com/cshum/imagor/blob/f6673fa6656ee8ef17728f2...
- tecleandor 1y agoYep, imgproxy seems to use libvips, that recommends jemalloc. I was checking and this is a funny (not) bug report: https://github.com/libvips/libvips/discussions/3019 https://github.com/libvips/libvips/discussions/3019
- jcupitt 1y agoHello, libvips author here. This is probably the canonical thread about libvips and memory fragmentation, and the funniest graph: https://github.com/lovell/sharp/issues/955#issuecomment-545825607 https://github.com/lovell/sharp/issues/955#issuecomment-5458... (that specific graph is for switching from glib to the musl memory allocator, but jemalloc gives a very similar result)
- jcupitt 1y agoThose three all use libvips as the image processing engine, fwiw, so it's maybe not a very wide survey. libvips is fairly highly threaded and does a lot of alloc/free, so it's challenging for most heap implementations.
- adityapatadia 1y agoWe use libvips as well sir. We can't overstate how much we benefit from your work!