I've worked with quite a number of java based order entry applications like TWS, JTrader, etc. One thing I notice is that during fast markets these few days, they get very CPU intensive. Would like to know if anyone tried ways to make them run smoother in general? Thanks.
I only remember the Jtrader manual that suggested to use the command -Xms256m -Xmx256m to a better use of memory.
Multicore CPUs help a LOT bec java trading apps end up with lots of threads. So I actually went for a quad core.... As far as I know, only graphics/video and Java trading apps eat up cores for lunch! If not, a dual core will suite most users just fine.
Can you give us a feel for the improvement of the quad over the dual? I use TWS with Amibroker slurping data out of the backend. It works pretty well so far...but I am thinking about upgrading and adding a few more futures symbols and extra displays. Are you running more than two screens? Thanks! T
Programming nerd here and I agree with you 100%. Real platforms are done in C/C++. Java just can't handle high utilization processes. The runtime has just too much overhead. Its better now with massive amounts of CPU power and memory, but it will never be as lean as a compiled app.
Port them to C++ Assuming you dont have the source code the only thing you can do is throw more resources at it. Faster processors..
For one app, like just TWS, not much of a difference. I don't think mult screens make much of a diff w/DirectX nowadays either.... but with multiple apps... plus a CNBC window... it's a definite improvement over the previous dual. Also nowadays quads are the same price points as duals with one notch speed difference.
Unfortunately, I don't have a specific solution... but, if you program, you might enjoy this read: Why Java Will Always Be Slower than C++