Definition: Latency can be defined as an application receiving the external interrupt and the process thread responding to it.
Problems with developing low latency applications:
1. Memory Locking: All operating systems have virtual memory which implies that they pretend to have mode physical memory than is present at any given time. The physical memory is extended using paging on demand. As paging involves disk subsystem it takes more time compared to the data fetch from the physical memory.
2. Early Binding: Since C# uses JIT compilation all the application and its reference dependencies are compiled at run time. This takes a lot of performance hit.
3. Processor Binding: Most of the time applications have multiple threads running in a process. Since OS scheduling keeps on changing the thread , the efficiency of the code handled by the thread reduces.