Working with the TWS API in java I have noticed that my processing of market data in making a trading decision is fairly quick (few millis). But actually creating an IB order and placing it is taking much longer, around 3-20 millis. Has anyone experienced this type of behavior? What I mean is instantiating a new Order object and then sending the order in via EClientSocket is taking a long time. How can this be sped up? Can it be sped up?
Also, does anyone have any suggestions as to how to increase performance of both the trader workstation and custom application that makes use of the TWS API? Are there any jvm settings that can be made that optimize performance? Any specific linux settings or networking settings that can help with performance?
I've been playing around with the "nice"-ness (in linux) of the two applications but I haven't really measured the performance gains. I just assumed there would be...
On another note, how fast is the IB market data compared to other vendors? How does the latency compare?
Thanks in advance for any suggestions...
Also, does anyone have any suggestions as to how to increase performance of both the trader workstation and custom application that makes use of the TWS API? Are there any jvm settings that can be made that optimize performance? Any specific linux settings or networking settings that can help with performance?
I've been playing around with the "nice"-ness (in linux) of the two applications but I haven't really measured the performance gains. I just assumed there would be...

On another note, how fast is the IB market data compared to other vendors? How does the latency compare?
Thanks in advance for any suggestions...