[LLVMdev] [RFC] MCJIT usage models

Bill Kelly billk at cts.com
Mon Dec 9 13:24:08 PST 2013


Greetings,

Larry Gritz wrote:
> Another usage case, slightly different than your #1:
> 
> 6. Dynamic code generation (not interactive with respect to the source code)
>    - app generates code IR which is compiled as needed for execution
> 	(important difference: no waiting for a typing human in the loop,
> 	 so very different expectations about responsiveness and bottlenecks)
>    - compilation speed IS critical (because many such compilations may be
>      necessary and the app itself may be interactive, even if the source code
>      entry is not)
>    - retained memory use is critical -- ok to use much mem while JITing, but once
>      we've reduced it to callable machine code function, we want to reclaim
>      as much as possible of the memory needed by LLVM.
>    - app is multithreaded and does not want to lock on a single MCJIT -- 
>      ok to have multiple MCJIT's, one per app thread, needing to run
>      simultaneously.

For what it's worth, the above describes my usage case as well.  (With the
exception that at present the app uses only a single JIT thread.)


Regards,

Bill





More information about the llvm-dev mailing list