[erlang-questions] trading systems

Jayson Vantuyl kagato@REDACTED
Thu Oct 1 21:07:15 CEST 2009

> No need to put myself at a disadvantage from the start by picking an
> inefficient approach to price data management and processing.

Premature optimization *IS* the root of all evil.  Specifically,  
because you make decisions on optimization in the absence of  
information.  Processor cache is a very unpredictable beast in the  
face of multiple cores.  Trying to predict how it behaves when other  
code is in the pipeline is unfortunately optimistic.  Multicore  
systems inherently increase latency and decrease cache performance.   
Erlang is optimized for these.  Any information you have regarding  
cache behavior is highly unlikely to be directly applicable.  Test and  
profile, early and often.  It's the only way to go.

It is entirely possible (due to the design goals of Erlang) that you  
might not even be able to wring the speed you need out of it.  Get  
something running, profile it, and fail fast if necessary.  Putting  
2000 lines of C before running a profiler is not a timesaver--even in  
the world of cutthroat performance.

Jayson Vantuyl

More information about the erlang-questions mailing list