Java – Low latency technologies for c++, c# and java

cjava

I've been reading job descriptions and many mention 'low latency'. However, I wondered if someone could clarify what type of technologies this would refer to? One of the adverts mentioned 'ACE' which I googled to find out was some CISCO telephony technology. If you were hiring someone for a low latency role, what would you use as a checklist for ensuring they knew about low latency programming?

I'm using this to learn more about low latency programming myself.

Best Answer

"Low Latency" refers to one of the possible sides of high performance, in particular minimizing the time it takes a system to produce an output from the instant where an event is detected.

While there is a common ground to all optimizations (make the most out of the hardware) the type of work and optimizations to perform is quite different than when optimizing for high throughput or for high loads, and in many cases they are contradictory goals: optimizing for latency will in many cases reduce the overall performance of a system in ensuring that the response is fast.

This type of goals is quite common in financial systems, where being the first is the difference between getting the best price in a trade, or not even being able to execute the order at all.

As of the technologies that are related to this context, they usually range from good knowledge of the platform (hardware and OS) where the code will run, knowledge of performance measuring and tuning, multithreading and usually knowledge of networks.

Related Topic