Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Low latency trading systems using C++ in Windows?

Tags:

c++

linux

windows

It seems that all the major investment banks use C++ in Unix (Linux, Solaris) for their low latency/high frequency server applications. Why is Windows generally not used as a platform for this? Are there technical reasons why Windows can't compete?

like image 540
Jon Avatar asked Aug 29 '10 00:08

Jon


People also ask

What is low latency in c++?

Low-latency is just 'fast' response time. So it's literally software which quickly responds. What is low latency really depends on what you're measuring. The software would be different depending on what the latency require is. So <1ms or <0.5ms etc.

What are low latency systems?

Low latency describes a computer network that is optimized to process a very high volume of data messages with minimal delay (latency). These networks are designed to support operations that require near real-time access to rapidly changing data.

Is Java good for low latency?

Java is easy to write, compile, debug, and learn, and this means you can spend less time writing code and more time optimizing it for latency. Ultimately, in the real world this results in reliably faster trading systems.


2 Answers

The performance requirements on the extremely low-latency systems used for algorithmic trading are extreme. In this environment, microseconds count.

I'm not sure about Solaris, but the case of Linux, these guys are writing and using low-latency patches and customisations for the whole kernel, from the network card drivers on up. It's not that there's a technical reason why that couldn't be done on Windows, but there is a practical/legal one - access to the source code, and the ability to recompile it with changes.

like image 171
caf Avatar answered Sep 24 '22 22:09

caf


Technically, no. However, there is a very simple business reason: the rest of the financial world runs on Unix. Banks run on AIX, the stock market itself runs on Unix, and therefore, it is simply easier to find programmers in the financial world that are used to a Unix environment, rather than a Windows one.

like image 42
Ryan Gooler Avatar answered Sep 22 '22 22:09

Ryan Gooler