Thursday, November 25, 2010

Visualisation Tools

Elie has sent me links to two tools - Tulip and Circos. There's a video of Tulip in action here.



This is a useful tool for visualisation of trades and market data and has proved invaluable.

A variant of the Circos approach was used quite effectively to replay a time series of equities trades by sector to end users showing their P and L and risk. Today it's used for multi-venue market visualisation.


Wednesday, November 24, 2010

Layers are for Cakes - Not Software

This erudite quote comes from Performance Anti-patterns by Bart Smaalders:

SOFTWARE LAYERING

Many software developers become fond of using layering to provide various levels of abstraction in their software. While layering is useful to some extent, its incautious use significantly increases the stack data cache footprint, TLB (translation look-aside buffer) misses, and function call overhead. Furthermore, the data hiding often forces
either the addition of too many arguments to function calls or the creation of new structures to hold sets of arguments. Once there are multiple users of a particular layer, modifications become more difficult and the performance trade-offs accumulate over time. A classic example of this problem is a portable application such as Mozilla using various window system toolkits; the various abstraction layers in both the application and the toolkits lead to
rather spectacularly deep call stacks with even minor exercising of functionality. While this does produce a portable application, the performance implications are significant; this tension between abstraction and implementation efficiencies forces us to reevaluate our imple-
mentations periodically. In general, layers are for cakes, not for software.