Benchmarking Caplin Liberator

As the financial comet-streaming engine space becomes more commoditised, vendor selection processes for market data distribution and trade capture projects are both becoming more commonplace and more exacting in their functional and non-functional requirements. One typical non-functional requirement ...Read More

Testing the Untestable

At Caplin we have a lot of products which do not have user interfaces. Of course,  a user interface for a internal component makes no sense, they are designed to be used by other components, who themselves may not have user ...Read More

War stories from the Static Analysis Trenches

I have always had a soft spot for automated analysis tools, fundamentally believing that for a reasonable subset of problems, where the rules can be expressed relatively mechanically, that they should be able to effectively diagnose a reasonable number of issues ...Read More

Taking C unit testing to the next level

In terms of formalised unit testing, we were fairly late to start generating repeatable test cases for our C products. Sure we wrote code to test our new features but they were just thrown away once the code was working.Even so, ...Read More

Real world benchmarking scenarios

I have blogged about benchmarking before, describing the process. Most of the benchmarking I have done on Liberator and other products has used fairly simple scenarios, testing the core capabilities of the server to pass messages to clients as fast ...Read More

A JUnit trick for ensuring SOLID design

Last week I had the chance to attend Jason Gorman's workshop on SOLID, a set of principles for good object-oriented design. If you want to find out whether your code conforms to one of these five principles (the L, ...Read More

Cost of Complexity is not Linear

It is very clear that for systems of reasonable complexity (i.e. anything beyond toy examples) that increasing the complexity by ten percent adds far more than ten percent to the time to deliver, and far more than ten percent to the ...Read More

Benchmarking Liberator to 100,000 users

As I mentioned on my previous blog - Comet Servers for a Single-Dealer Platform (SDP) I am performing some new benchmarks for Liberator. These are going to focus on some new things as well as some new figures for our ...Read More

The beauty of small tests

When tests are small, a test failure means just one thing – somewhere in these ten lines of code which are being tested, there is an error.  Ok, sometimes this can mean that there is an error in the test script, ...Read More

Agile – Tests = Fragile

The nature of agile projects, with lots of small releases mean that there are a lot of test runs to execute if you want to have any confidence in the code and the product. Ignoring this testing just ...Read More