[erlang-questions] trading systems

Jayson Vantuyl kagato@REDACTED
Thu Oct 1 21:50:43 CEST 2009

> Erlang is often slow, even on multicore. Erlang is damn hard to  
> optimize. I have spent literally months trying to understand the  
> behavior and optimize OpenPoker and recently another system I build  
> for a client. The latter system scales to hundreds of thousands of  
> users on Amazon EC2 and makes use of up to 200 servers in simulation.
Concurrent + latency-sensitive + distributed == damn hard to optimize  
in any language.  That said, Erlang certainly takes a specific mindset  
to optimize.  Are these built with Distributed Erlang?  I find that  
it's rife with latency / weirdness.  Working on an alternative to that  
is one of my pet projects, although I strongly doubt that I can make  
it as transparent as Distributed Erlang (a distribution plugin is  
HARD, but links and monitors require deep integration with the VM).

> Both projects need high performance. I still bear the scars and I'm  
> still recovering.
Please distinguish between low-latency, high-throughput, and both.   
"High performance" and "fast" are hard terms to work with.

> I feel that Erlang is a good start but I also feel that I must start  
> the right way. After a good deal of time spent with Erlang, I'm very  
> wary of "use the naive approach first" suggestions. It's all good in  
> theory but does everyone making these suggestions have my amount of  
> practice ;-).
In my experience, optimizing first has never been better.  I always  
start out thinking so, but it's just not.

Jayson Vantuyl

More information about the erlang-questions mailing list