Peter Lawrey gave a presentation on deterministic behavior and performance in trading. Some key points:
- Using lambda functions and state machines can help make systems more deterministic and easy to reason about.
- Recording all inputs and outputs allows systems to be replayed and upgraded deterministically. This supports testing.
- Little's Law relates throughput, latency, and number of workers. For trading systems, reducing latency increases throughput.
- Avoiding "coordinated omission" is important for accurate latency testing.
- In Java 8, escape analysis and inlining can avoid object creation with lambdas, improving performance.
- Systems using Chronicle Queue can achieve low 25 microsecond latency while ensuring data is