LEARN

Chronicle Learn

Read the latest articles from our experienced developers to learn how you can write simpler and faster Java applications.

Large Price Comparison

55 Dedicated Cloud Compute Optimised Solutions

We have compared compute-optimised instances from 55 vendors, and the cost per virtual CPU differs significantly between different products. 

Unit testing constitutes an integral part of the process of providing high-quality software. But, how can one write tests covering all variants of several…

Continue reading >>
Technical Articles

Event Driven Hello World Program

Event-driven microservices can be straightforward to describe before they are implemented, tested and maintained. They are also highly responsive to new information in real…

Continue reading >>
Technical Articles

Is There a Best OS to Develop a Java Application on?

One subject that often evokes a lot of debate is which is the best OS to develop a Java application on. This article gives…

Continue reading >>

Behaviour Driven Development (BDD) and Event Driven Architecture (EDA) work well together as they complement each other’s strengths and weaknesses. Using both can result…

Continue reading >>
Technical Articles

Why Core-to-Core Latency Matters

Last year we had a global shortage of microchips; today, I feel there is a worldwide shortage of software developers. Like many other software…

Continue reading >>
Technical Articles

“The More You Say, the Less People Remember…

…The Fewer the Words, the Greater the Profit.” These wise words were written by François Fénelon, a writer and theologian living during the 17th…

Continue reading >>
Technical Articles

Cloud-Native Chronicle Deployment

Traditionally, companies with low-latency requirements deployed to bare metal servers, eschewing the convenience and programmability of virtualisation and containerisation in an effort to squeeze…

Continue reading >>
Technical Articles

How to Reduce Cloud Cost by 99% for EDA Kafka Applications

While the cloud offers great convenience and flexibility, the operational cost for applications deployed in the cloud can sometimes be significant. This article shows…

Continue reading >>
Technical Articles

How to Leverage Method Chaining to Add Smart Message Routing

This article explores how to use method chaining to add routing information to serialised data structures in a lightweight fashion, where the routing information…

Continue reading >>
Technical Articles

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…

Continue reading >>

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…

Continue reading >>
Technical Articles

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…

Continue reading >>
Technical Articles

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

Continue reading >>
Technical Articles

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…

Continue reading >>
Technical Articles

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

Continue reading >>
Technical Articles

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…

Continue reading >>
Technical Articles

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…

Continue reading >>
Technical Articles

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…

Continue reading >>
Technical Articles

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…

Continue reading >>
Technical Articles

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…

Continue reading >>