[LLVMdev] MmapAllocator

Reid Kleckner reid.kleckner at gmail.com
Mon Aug 9 11:05:42 PDT 2010


So just to try to sum up, the goal of this kind of change is to reduce
long-term heap usage in applications that JIT code once at startup,
and then enter a steady state of doing work.  Think of server
applications written in any JITed language, or the finance
applications I keep seeing pop up on this list.

I would say that LLVM sees the *most* use as a static, ahead-of-time
compiler, where code generation occurs continously throughout the
process's life until it exits.  In that kind of application, I would
presume that malloc is preferable to mmap, for all of the reasons that
Jakob described, ie avoiding address space fragmentation, avoiding
heavy-weight system calls, and (in the future, maybe?) multi-threaded
performance.

What I'm asking is whether it's worth adding code to LLVM to support
reducing memory usage for applications with the first use case.

Reid



More information about the llvm-dev mailing list