Home » Author Archives: Peter Lawrey (page 2)

Author Archives: Peter Lawrey

Micro-services for performance

Overview Microservices is a buzz word at the moment. Is it really something original or based on established best practices. There are some disadvantages to the way micro-services have been implemented, but can these be solved? Component testability and consistency Once you have assembled a large system, it can be hard to impossible to profile where the highest delays come ...

Read More »

Printing arrays by hacking the JVM

Overview One the most common gotchas in Java, is knowing how to print arrays. If an answer on how to print an array get more than 1000 upvotes, you have to wonder if there is a simpler way. Just about every other popular language has that simpler way, so it’s not clear to me why Java still does this. Unlike ...

Read More »

Simple Event Driven design

Overview Developers often ask about the performance or efficiency of a system or their code. What does this really mean? My code is so efficient, only a coding god could understand how it works. My code is really clever but unmaintainable. The next developer will re-write it anyway. My code is really efficient for the machine, but inefficient for the ...

Read More »

How do low latency applications differ for regular applications?

Overview A common question we get is; What makes a low latency application different? What is it like to read? There is a number of considerations in designing a low latency application which distinguish it from other applications. Simplicity is key The best way to make something go faster is to get the application to do less work. This means; ...

Read More »

Custom operators for collections in Java

Overview Operator overloading is available in an number of languages. Java has very limited operator overloading in it’s support for the + operator for String types. We can draw on the different ways other languages support operators, however could we have an implementation in Java which uses conventions Java already uses. Get, set and put operations A common example of ...

Read More »

Low latency FIX engine in Java

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

Read More »

An introduction to optimising a hashing strategy

Overview 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? ...

Read More »

Chronicle Journal – Customizable Data Store

Overview The way to make any data structure or algorithm as fast as possible is for the code to do exactly what you want and no more. The problem with building a data store which does every thing anyone could want is that it won’t do anything particularly well. What can you achieve with a custom data store in terms ...

Read More »

Managing your application as a file system

Overview “A database is a smart file system” — Anonymous “Your database/application is a file system” — Chronicle Software. Why mount your application as a file system? The main benefits of using a file system are;   It can give you another way to access your data which works in for any language. There is a lot of existing tools ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns