high-performance macruby: llvm and trading apps
I'm creating a Mac trading app, not unlike http://ninjatrader.com which is for Windows and uses .NET. I need a DSL for writing trading systems which would run every time a price quote is received over the network, a few times per second. This suggests compiling trading strategies to machine code, e.g. using LLVM on the backend. This would allow me to make use of vector processing, for example, to squeeze the maximum out of multiple CPU cores. I would also like a DSL to extend the app with new functionality, perhaps to build the GUI portion of the app itself. It doesn't seem that MacRuby in its present state is suitable for writing trading systems that run several times per second and use vector processing. I don't see a good alternative either. What would you folks suggest? How much work would it be to run MacRuby on top of LLVM? Thanks, Joel --- http://tinyco.de Mac Trading Apps
Hi Joel, On Feb 18, 2009, at 4:38 AM, Joel Reymont wrote:
I'm creating a Mac trading app, not unlike http://ninjatrader.com which is for Windows and uses .NET.
I need a DSL for writing trading systems which would run every time a price quote is received over the network, a few times per second. This suggests compiling trading strategies to machine code, e.g. using LLVM on the backend. This would allow me to make use of vector processing, for example, to squeeze the maximum out of multiple CPU cores.
I would also like a DSL to extend the app with new functionality, perhaps to build the GUI portion of the app itself.
It doesn't seem that MacRuby in its present state is suitable for writing trading systems that run several times per second and use vector processing. I don't see a good alternative either.
What would you folks suggest?
How much work would it be to run MacRuby on top of LLVM?
Not that much, and to tell you the truth, the work is already done in a private branch on my machine. I need to clean the sources and push them into the SVN repository (wait a few more days). The new source base does not use YARV anymore (yay!) but a fresh new VM based on LLVM (and also on an internal vectorization library). Stay tuned for more details! Laurent
Bit off topic but I'm confused about this. Are you using llvmruby to compile ruby to LLVM bytecode and then running on LLVM? So YARV will not be involved at all? I didn't think that llvmruby/ruby2llvm was that advanced yet, to handle the entire ruby language? --simon -- http://simonwoodside.com On 2009-02-18, at 3:44 PM, Laurent Sansonetti wrote:
Not that much, and to tell you the truth, the work is already done in a private branch on my machine. I need to clean the sources and push them into the SVN repository (wait a few more days). The new source base does not use YARV anymore (yay!) but a fresh new VM based on LLVM (and also on an internal vectorization library). Stay tuned for more details!
participants (3)
-
Joel Reymont
-
Laurent Sansonetti
-
S. Woodside