Modular and Scalable Technology With Full Client Customisation London, New York, Singapore, 3rd March, 2022: Chronicle Software (Chronicle), the specialist provider of low latency…
Challenges when Developing a GUI for FIX
This article explores the Challenges in developing a Graphical User Interface (GUI) for Financial Information eXchange (FIX) data. FIX is both a protocol and…
Automated CI/CD of Multiple Projects Using TeamCity’s Kotlin DSL
In a previous article I described a way to organise low-latency products as multiple code bases which are bound together with a Maven Bill…
Why the Cool Kids Use Event Loops
A Discussion On the Benefits of Event Loops in Java. When I was working in software development back in the 1990s, nearly all the…
How to Develop Event-Driven Architectures
Last month, I wrote an article on Open source Chronicle Wire, that discusses how we could serialise an application’s state into different message formats….
Unusual Java: StackTrace Extends Throwable
There are things you can do in Java you rarely see, generally because there is no use for it. However, there are some unusual…
How to Get C++ Speed in Java Serialisation
Using Trivially Copyable Objects to Improve Java Serialisation Speeds For any low-latency software it is vital that the most common operations introduce minimal latency….
This article elaborates on different ways of serializing Java objects and benchmarks performance for the variants. Read this article and become aware of different…
London, UK, New York, NY, Singapore – 18 January 2022: Chronicle Software (Chronicle), a specialist provider of low-latency microservices and technology solutions for the…
Persistent queue solutions are frequently used when designing low-latency applications. The problem is that high sustained message rates, or bursty workloads, can lead to…
How Object Reuse Can Reduce Latency and Improve Performance
Become familiar with the art of object reuse by reading this article and learn the pros and cons of different reuse strategies in a…
Creating Terabyte Sized Queues with Low-Latency
Queues are often fundamental components in software design patterns. But, what if there are millions of messages received every second and multi-process consumers need…
High-Performance Java Serialisation to Different Formats
Java serialization is a popular mechanism where you are able to serialize and deserialize complex object graphs; for example where object A can contain…
Why a Set Can Contain Duplicate Elements
In low-latency applications, the creation of unnecessary objects is often avoided by reusing mutable objects to reduce memory pressure and thus the load on…
Low Latency Microservices, A Retrospective
I wrote an article on low latency microservices almost five years ago now. Chronicle Software has worked with a number of tier one investment banks…
Monorepo Versus Bill of Materials: Shaping Your Project
During most of my development career, the usual code organization pattern was monolithic repository or Monorepo. There is a single large version control repository,…
As most Java developers know, putting values in a Java Map (like a HashMap) involves creating a large number of auxiliary objects under the…
How to run Chronicle Libraries Under Java 17 On 14 September 2021, the long awaited Java 17 LTS version was released providing numerous improvements…
Chronicle Ring vs LMAX Disruptor
Benchmarks have a natural lifespan that can be improved with more modern hardware. This benchmark was performed on October 7, 2021. Please don’t hesitate…
At Chronicle we are often involved in helping clients to choose the optimum hardware on which to run Chronicle Queue and we are happy…