3 ms·
What is the cost to the project of maintaining their own JIT optimizing compiler? I presume, knowing nothing of LLVM other than what I have read, that it will
by ShabbyDoo 17y ago
What is the cost to the project of maintaining their own JIT optimizing compiler? I presume, knowing nothing of LLVM other than what I have read, that it will continue to improve in performance with or without Mono or any other single platform on top of it. Let's presume that the Mono developers switch to LLVM as their sole target platform. What else could they spend their time on if they don't have to worry about a JIT?
Note that I'm not necessarily asking these questions rhetorically -- I don't know a lot about this technology stack and want to validate my core assumptions.
- oliverkofoed 17y agoFrom the posting: "This extra performance comes at a cost: it consumes more time and more memory to JIT compile using LLVM than using Mono's built-in JIT, so it is not a solution for everyone." So, faster code but more memory usage and longer JIT time seems to be the reason why mono didn't just switch over to LLVM. My bet is that they'd switch if LLVM supported the same features and architectures as their own, but just with better results.
- peregrine 17y agoMy assumption according to this article that this JIT compiler focuses on IO.
- s3graham 17y agoI think it depends. LLVM is a very large project which adds a significant overhead to your footprint. LLVM also historically has focused on "normal" (i.e. AOT) compilation so is more concerned about generating good code even if it takes a while (which isn't the main focus for MS CLR, or Mono's JIT). LLVM have improved their x86 -O0 perf, but it's still not as fast as the fast path on JIT-focused backends. So, yeah, there's a cost. Depends what the end user is using Mono for as to whether it's worth it or not I guess.