Vanilla Java Blog

Understanding how Core Java really works can help you write simpler, faster applications.

Chronicle Update May 2019

Welcome to our newsletter giving you an update on Chronicle Software, we provide professional services and world-leading Java libraries to enhance automated trading capabilities for a multitude of global financial services organizations.   Commercial Update Chronicle Decentred provides the application of Java microservices on a secure decentralized clustering framework over a distributed ledger technology, a…

Read More...

Choosing Chronicle FIX Engine

Overview The FIX Trading Community web site has posted a list of common questions about FIX Engines. This page brings together our answers for these questions. For more details on Chronicle FIX Capabilities/throughput Chronicle FIX supports; 100,000 messages per second per core. (NewOrderSingle / ExecutionReport sized messages) FIX Services which need to have a 30 micro-seconds tick…

Read More...

Chronicle Update January 2019

Welcome to our newsletter giving you an update on Chronicle Software. We provide professional services and world-leading java libraries to enhance automated trading capabilities for a multitude of global financial services organizations. Commercial Update We have had a very strong start to 2019 and whilst enabling our business to grow it has also helped us…

Read More...

Improving percentile latencies in Chronicle Queue

Compared to a year ago, we have significantly improved the throughput at which we can achieve the 99%ile (worst one in 100). What tools and tricks did we use to achieve that? What are we testing? Chronicle Queue appends messages to a file while another thread or process can be reading it. This gives you…

Read More...

Best practices for Event Sourcing

David Schmitz presented an excellent talk on what he sees as best practices in using Event Sourcing. Chronicle Software has two very different event sourcing frameworks Chronicle Microservices Framework (CMF) and Chronicle Decentred. This talk is useful in highlighting how they differ with each other and other Event Sourcing solutions. CMF is built on Chronicle Queue and is designed for low latency…

Read More...

Chronicle Update November 2018

Welcome to our newsletter giving you an update on Chronicle Software. We provide professional services and world-leading java libraries to enhance automated trading capabilities for a multitude of global financial services organizations. Commercial Update We are engaging with a lot more prospects who are using established FIX engines but are now feeling increasingly frustrated by…

Read More...

Chronicle Queue storing 1TB in virtual memory on a 128GB machine

If you use a standard JVM like the Oracle JVM or the OpenJDK, you might find that as the heap size grows the performance of your JVM can drop as GC pause time escalates. This tends to be a problem around 32 GB of heap, but it often depends on the application at which point…

Read More...

Object Pools Revisited

Object pools were popular before Java 5.0, however, more efficient allocation made most of these pools a needless complication. Can an Object Pool still make sense and how fast do they need to be? Overview Up to Java 5.0 using object pools could significantly improve performance. However, from Java 5.0, the cost of using naive…

Read More...

StringBuffer and how hard it is to get rid of legacy code

In 2006, Java 5.0 was released with StringBuilder, a more lightweight and sane version of StringBuffer. The Javadoc for Java 5.0 for StringBuffer notes As of release JDK 5, this class has been supplemented with an equivalent class designed for use by a single thread, StringBuilder. The StringBuilder class should generally be used in preference…

Read More...

What’s the difference between blockchain and traditional databases?

The key difference between blockchain and traditional databases is the level of trust needed in those running the service. With blockchain, you trust the protocol, not those running it. What does a blockchain do? A blockchain records transactions without needing to trust any individual, organisation or computer, in a tamper-proof way (or pretty close). This…

Read More...