[llvm-dev] MCJIT versus Orc

Lang Hames via llvm-dev llvm-dev at lists.llvm.org
Mon Apr 4 10:43:08 PDT 2016


Hi Russell,

Apologies for the delayed reply.

Orc's current advantages over MCJIT are:

(1) Built-in support for lazy compilation.
(2) Cleaner support for multi-module management, including un-loading
modules.
(3) Much better memory management (depending on use-case, can consume far
less memory for JIT'd code).

I expect Orc to gain further advantages over MCJIT in the future too.

I'd recommend using Orc rather than MCJIT.

- Lang.


On Tue, Mar 29, 2016 at 4:22 PM, Russell Wallace via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Right, but is there any known use case where Orc's flexibility allows
> something to be done that couldn't be with MCJIT, apart from lazy
> compilation?
>
> On Wed, Mar 30, 2016 at 12:19 AM, Justin Bogner <mail at justinbogner.com>
> wrote:
>
>> Russell Wallace via llvm-dev <llvm-dev at lists.llvm.org> writes:
>> > When writing a JIT compiler using LLVM, as I understand it, you can use
>> two
>> > alternative APIs, MCJIT and Orc. The latter offers lazy compilation.
>> Would
>> > it be accurate to say that if you want eager compilation - always
>> compile
>> > an entire module upfront - you should use MCJIT?
>>
>> +lang.
>>
>> My understanding is that Orc is strictly more flexible than MCJIT. You
>> can, in fact, exactly implement the MCJIT API using the Orc APIs.
>>
>> I think the general advice is that MCJIT's a bit more mature and stable,
>> but you probably want Orc in new code unless you really need that
>> maturity.
>>
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160404/4cd4ec25/attachment.html>


More information about the llvm-dev mailing list