I got to a point where I need to keep track of performance improvements in my packages, specially with new releases of Julia coming up. The PkgBenchmark.jl package proposes a nice interface similar to Base.Test for benchmarking packages against old commits in the history of the project. The idea is really cool, but my attempts to use it are always unsuccessful
I have updated the benchmark code for the latest release of my package:
using GeoStats
using PkgBenchmark
srand(2017)
datadir = joinpath(@__DIR__,"data")
fname = joinpath(datadir,"permeability.csv")
geodata = readtable(fname, coordnames=[:x,:y])
domain = bounding_grid(geodata, [100,100])
problem = EstimationProblem(geodata, domain, :permeability)
@benchgroup "Kriging" ["solvers"] begin
solverā = Kriging(:permeability => @NT(variogram=ExponentialVariogram(range=40.)))
solverā = Kriging(:permeability => @NT(variogram=SphericalVariogram(range=40.)))
@bench "Exponential variogram" solve($problem, solverā)
end
I then open the Julia prompt and type:
using PkgBenchmark
results = benchmarkpkg("GeoStats")
The benchmarks apparently did run, but the results object doesnāt seem to contain information? I went ahead and tried to benchmark against an old tagged version:
judge("GeoStats", "v0.4.4")
and it again prints an empty object without information? Anyone with experience can explain what is happening and what needs to be done to get the benchmark working?