[llvm-dev] MCJit Runtine Performance

Keno Fischer via llvm-dev llvm-dev at lists.llvm.org
Thu Feb 4 16:05:29 PST 2016


Yes, unfortunately, this is very much known. Over in the julia project,
we've recently gone through this and taken the hit (after doing some work
to fix the very extreme corner cases that we were hitting). We're not
entirely sure why the slowdown is this noticable, but at least in our case,
profiling didn't reveal any remaining low hanging fruits that are
responsible. One thing you can potentially try if you haven't yet is to
enable fast ISel and see if that brings you closer to the old runtimes.

On Thu, Feb 4, 2016 at 7:00 PM, Morten Brodersen via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hi All,
>
> We recently upgraded a number of applications from LLVM 3.5.2 (old JIT) to
> LLVM 3.7.1 (MCJit).
>
> We made the minimum changes needed for the switch (no changes to the IR
> generated or the IR optimizations applied).
>
> The resulting code pass all tests (8000+).
>
> However the runtime performance dropped significantly: 30% to 40% for all
> applications.
>
> The applications I am talking about optimize airline rosters and pairings.
> LLVM is used for compiling high level business rules to efficient machine
> code.
>
> A typical optimization run takes 6 to 8 hours. So a 30% to 40% reduction
> in speed has real impact (=> we can't upgrade from 3.5.2).
>
> We have triple checked and reviewed the changes we made from old JIT to
> MCJIt. We also tried different ways to optimize the IR.
>
> However all results indicate that the performance drop happens in the
> (black box) IR to machine code stage.
>
> So my question is if the runtime performance reduction is known/expected
> for MCJit vs. old JIT? Or if we might be doing something wrong?
>
> If you need more information, in order to understand the issue, please
> tell us so that we can provide you with more details.
>
> Thanks
> Morten
>
> _______________________________________________
> 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/20160204/2d3ff41b/attachment.html>


More information about the llvm-dev mailing list