Category Archives: Uncategorized

Fulfilling a Pikedream: the ups of downs of porting 50k lines of C++ to Go.

Rob Pike, one of the creators of the Go language, stated that he expected the language to be adopted by C++ programmers, a prediction that hasn’t been realised. Recently however at the HFT firm where I work, the success of … Continue reading

Posted in Uncategorized | Tagged , | 20 Comments

Fibonacci numbers on the Galaxy S3: ARM benchmarks of Rust, Ocaml, Haskell, Go, Racket, Lua, C# and Java

I recently upgraded my phone to a Galaxy S3, an ARMv7 device with 2GB of ram and a quad-core 1.3ghz processor. After installing Arch Linux on it (only in a chroot; I’m not brave enough to boot directly into it), … Continue reading

Posted in Uncategorized | Tagged , , , , , , , | 27 Comments

Why Go is Great (for servers)

The Go language has some weaknesses compared to other modern languages. It also however has some advantages that allow its users to do things that users of many other languages cannot easily do. In particular, to have a large number … Continue reading

Posted in Uncategorized | Tagged , , , , , , , , | 2 Comments

The Magic Forest problem revisited: rehabilitating Java with the aid of D.

I recently came across an interesting blog post in which Java performed slower than I’d have thought reasonable, around 4 times slower than C++, so I decided to try my luck at making it faster. The problem? Imagine a forest … Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , | 15 Comments

Memory Access Microbenchmark: Clojure, F#, Go, Julia, Lua, Racket, Ruby, Self…

*Edit – For clarity, I’ve decided to just include the most up-to-date, fair and relevant results tables at the top here. Scroll down below to read more about the optimisation process and the effectiveness of various different implementations. NumTrades = … Continue reading


Posted in Uncategorized | Tagged , , , , , , , , , , , , , , , , , | 33 Comments

“I’m from Microsoft, and you’re blocking our servers.”

Last night I received a call to my landline, a heavily Indian-accented voice stating “I am from Microsoft. Your computer is sending many errors and blocking our servers. Today the amount of errors has intensified, so we decided to take … Continue reading

Posted in Uncategorized | 4 Comments

Benchmarks Round Two: Parallel Go, Rust, D, Scala and Nimrod.

I’m working on a modular random level generator, the essence of which uses similar logic to that of a roguelike. Last month I benchmarked the effectiveness of various programming languages at a simplified level generation algorithm that roughly mimics the … Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , | 48 Comments

Benchmarking level generation: Go, Rust, Haskell and D (and now Scala).

I’m working on a random level generator for a game that, although written in C++, is modular such that the level generator can be written in something more high-level. As C++ isn’t always the most fun and productive language to … Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , | 77 Comments