Java and the Computer Language Shootout

The Java VM is an impressive beast. In theory, features like dynamic optimization and compilation and concurrent garbage collection promise great performance gains. But in benchmarks at the Computer Language Shootout, performance numbers still appear to be lacking.

The Computer Language Shootout is good research. Complete disclosure of methods (for maximum reproducibility), an adversarial method for developing implementations and the breadth of language and compiler coverage all make for a solid data set. However I began to wonder about the fact that for each benchmark results are only published for one set of inputs. Update: As Isaac Gouy points out, there are actually three results reported, see comments below. For example for the binarytree benchmark, only one tree-depth is used, specifically 16. This value may be an arbitrary choice, it may be chosen to keep the runtimes in some range, regardless, there is only one.

Continue reading

Open-source trading software? Are we insane?

The Black-Scholes formula is not a secret.

If you don’t believe me, you can read the formula, the original paper, or a tutorial. You can even buy the t-shirt. (OK, I created that one to make a point). An algorithm to compute a price using the Black-Scholes formula is not even a secret. You can get implementations in many languages, and you can read papers about how to make them better. Because it’s not a secret, getting it right will not make you a better trader. Getting it wrong, however, may make you a lot worse. And poorer. Knowing how to use it appropriately (and keeping that knowledge secret) is how you make enough money to buy your own Caribbean island.

Continue reading