Continuing on from my last post, here we’ll be looking at flags used to control the C2 or server compiler of the Hotspot JVM.In writing this article, I discovered that the C2 compiler flags did not operate as I expected, and I’ve drawn some possibly in…
LMAX Exchange Staff Blogs
Once an application goes live, it is absolutely essential that any future changes are able to be work with the existing data in production, typically by migrating it as changes are required. That existing data and the migrations applied to it are often the riskiest and least tested functions in the system. Mistakes in a migration […]
I recently wanted to use flowtype.js with wordpress to create a liquid layout for the text as well as the images. Integrating it required a bit of research into how to load javascript into wordpress the ‘correct’ way. Here’s how it fits together.flowt…
In this post, we will explore some of the various flags that can affect the operation of the JVM’s JIT compiler.
Anything demonstrated in this post should come with a public health warning – these options are explored for reference only, and modifying them without being able to observe and reason about their effects should be avoided.
You have been warned.
We recently upgraded to Zimbra 8.6 from 8.0.7. We hit a problem that not even zimbra support was able to figure out. Perhaps its that our Zimbra instance has been upgraded since version 3 (or 4) but it got into a bad state whenever we tried to update …
Just like production code, you should assume things are going to go wrong in your tests and when it does you want good logging to help track down what happened and why. So just like production code, you should use a logging framework within your DSL, u…
LMAX Exchange developers are giving two talks at QCon London this year.Sam Adams, our Head of Software, will be discussing the awesome LMAX Continuous Delivery process in his talk “CD at LMAX: Testing into production and back again”.I will be talking a…
In this series we are attempting to solve a clock synchronisation problem to a degree of accuracy in order to satisfy MiFID II regulations, and we’re trying to do it without spending a lot of money.So far we have:Talked about the regulations and how …
Monitoring of various metrics is a large part of ensuring that our systems are behaving in the way that we expect. For low-latency systems in particular, we need to be able to develop an understanding of where in the system any latency spikes are occur…
A few months ago, I wrote about how we had improved our journalling write latency at LMAX by upgrading our kernel and file-system. As a follow up to some discussion on write techniques, I then explored the difference between a seek/write and positional…