I have a small (~200 LOC) Ruby script which I've been using to
process a rather large file. This takes ~1.5 hours, so I've been
looking around for alternatives. Julia claims to be fast and I
have been wanting to play with it, so I gave it a try. Sadly, my
Julia version is slower than the original (Ruby 1.8.6) script!
data Ruby Julia
lines secs. secs.
===== ===== =====
1e3 0.09 10.38
1e4 0.55 10.94
1e5 5.26 16.18
1e6 53.24 68.62
1e7 336.53 413.83
I'm using both languages as executable script files on Mac OS X,
via a shebang line (#!/usr/bin/env ...). I expected Julia's
startup latency to kill it for small runs (and it does :-), but
I was expecting that this would be amortized in larger runs.
Before I jump into a bunch of optimization and parallelization,
I thought I should ask whether Julia has inherent limitations on
I/O and/or string manipulation that curtail its performance.
-r