Peter Lawrey

Peter Lawrey

CEO @ Higher Frequency Trading Ltd

Common misconception: How many objects does this create?

A common question is how many objects or how many Strings does a section of code create. Often the answer is not what you think nor should you really need to know. It is useful to have an idea of when an object is created but there is so many other factors which are often far more important to consider which can mean the total number for an application is not what you think. String is a not a single object

An introduction to optimising a hashing strategy

The strategy that’s used for hashing keys, can have a direct impact on the performance of a hashed collections such as a HashMap or HashSet. The built-in hashing functions are designed to be generic and work well in a wide range of use cases.  Can we do better, especially if you have a good idea of the use case?

Low latency FIX engine in Java

Chronicle FIX is our Low Latency FIX engine and database for Java. What makes it different is that it;

  • is designed for ultra low GC* in Java.
  • supports Strings and date times in a way which minimises garbage and overhead.
  • is customisable to include only the fields you expect.
  • uses optimisations normally used in binary parsers and generators such as reading/writing 4 or 8 bytes at a time to improve efficiency.
  • built on low latency persistence to minimise the latency of logging.
  • is optimised for low latency network cards such as Solarflare.

Java 8 Optional is not just for replacing a null value

In Java 8, you can return an Optional instead of return null; as you might do in Java 7.  This may or may not make a big difference depending on whether you tend to forget to check for null or whether you use static code analysis to check to nullalbe references. However, there is a more compelling case which is to treat Optional like a Stream with 0 or 1 values.



  • Accenture
  • Bosch
  • ntt data
  • Betfair
  • FlowTraders
  • MHP
  • Connatix
  • Cognizant Softvision
  • BoatyardX
  • Colors in projects