Rough start with julia (with CSV package)

On my relatively old iMac (mid 2011) the times are as follows, after adding the CSV module and doing the precompile:

julia> tic()
0x0003ecba74d69849

julia> using CSV

julia> toc()
elapsed time: 0.737481587 seconds
0.737481587

julia> tic(); dt = CSV.read(Pkg.dir() * "/CSV/test/test_files/SalesJan2009.csv"); toc()
elapsed time: 7.460471108 seconds
7.460471108

julia> tic(); dt = CSV.read(Pkg.dir() * "/CSV/test/test_files/SalesJan2009.csv"); toc()
elapsed time: 0.297707282 seconds
0.297707282

The size of the first file you run doesn’t appear to make any difference to that slowish first time: as @rdelts says, Julia is calling the functions for the first time so you’re measuring JIT-compilation. Here’s the same procedure run in a fresh session, but using a short CSV file rather than the larger one:

julia> tic()
0x0003ecd7f0df967a

julia> using CSV

julia> toc()
elapsed time: 0.780781317 seconds
0.780781317

julia> tic(); dt = CSV.read(Pkg.dir() * "/CSV/test/test_files/test_basic.csv"); toc()
elapsed time: 7.296985419 seconds
7.296985419

julia> tic(); dt = CSV.read(Pkg.dir() * "/CSV/test/test_files/SalesJan2009.csv"); toc()
elapsed time: 0.581490229 seconds
0.581490229

there’s hardly any difference.

For the precompilation time rather than the JIT-compilation time, you do appear to be running a bit slow at 60+ seconds:

julia> tic(); using CSV
INFO: Precompiling module CSV.
toc()

julia> toc()
elapsed time: 13.794103148 seconds
13.794103148

(and another Julia process is running full tilt at the moment).

I don’t know if anyone has done comparative benchmarks, comparing specific Julia versions running on different hardware configurations. For example, it might be interesting to know whether running with 4GB of RAM makes much of a difference (mine has 12GB). I tried to find a “simple” general purpose benchmark module for people to just download and run a standard set of miscellaneous benchmarks for comparing performance, but didn’t get much further than BenchmarkTools.jl.