On Mon, Feb 1, 2010 at 11:33 AM, Jonathan Shore <[email protected]>wrote:
> You are entirely right. I like other quants in finance, use R for a lot > of my work, but Java for performance (used to be C++). My preference is to > use a functional language at the level where I use Java. The only > practical choices at this point are Scala (not a big fan) or F#. There > are other implementations for FP such as INRIA's Ocaml, and Jaskell (but > much too slow), Clojure (again too slow), etc ... > > I've also been back-reading on the LLVM vs mono code-generation debate. > At this point the main concern stated in not moving over to LLVM completely > is the slower JIT'ing in LLVM. Surely there are different levels of JIT > optimisations that can be turned on or off within LLVM? > LLVM is significantly slower than mono's JIT even if we no optimizations are done and the fast inssel backend is used. > > I recognize that the .NET CLR does at up-front JIT compilation, whereas the > java JVM uses profiling to determine what to JIT and how. Now that may be > added complexity, but seems to serve Java well. The cost of JIT is > amortized or not done at all for portions of the code. > Working the way Java does is a huge amount of effort to be effective. It's probably as hard as making mono's current JIT be on the same level as MS's. > At this point LLVM has matured and gained enough momentum that one would > suspect that it is more "expensive" for mono development to enhance its own > code generation than adopt LLVM. I raise this issue as there are a number > of things that LLVM does quite a bit better. The effort focused on > in-house code generation could be focused on a better more complete LLVM / > LLVM-mapping. Just speaking as a 3rd party looking-in ... > > Today it's not possible to completely switch to LLVM since, for example, it runs on less archs than mono does and a binary with LLVM enabled is 3 times bigger. And I'm not sure if it's even desirable to completely switch, it's something that we'll eventually figure out once our LLVM backend gets more mature.
_______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
