Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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.

share|improve this question

migrated from stackoverflow.com Jun 22 '11 at 20:13

This question came from our site for professional and enthusiast programmers.

    
Can you provide an example of the description? –  Alex Gitelman Jun 22 '11 at 20:11
3  
ACE in a job offering probably refers to the Adaptative Communication Environment. –  David Rodríguez - dribeas Jun 22 '11 at 20:11

2 Answers 2

"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.

share|improve this answer

Though the term may have different applications, I think most commonly low latency is used to describe high frequency C++ trading algorithms. Again, it's usually explained in job posting, nobody posts just low latency job role with no other clues or explanations.

share|improve this answer
1  
"nobody posts just low latency job role with no other clues or explanations" , oh yes they do. Maybe the only other thing they add is C# or Java or C+, if you find an add that is more explanatory then please send me a link. I have not seen any job ads being posted by technical people, only job agents. –  Arjang Feb 1 '12 at 19:56

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.