tahoe-lafs / zfec

zfec -- an efficient, portable erasure coding tool
Other
373 stars 44 forks source link

Benchmark the Haskell `encode` API #95

Closed exarkun closed 9 months ago

exarkun commented 9 months ago

Example text output:

benchmarking 2 of 3/blockSize = 1                                                        
time                 109.7 ns   (108.4 ns .. 111.0 ns)  
                     0.999 R²   (0.999 R² .. 1.000 R²)
mean                 109.1 ns   (108.2 ns .. 109.9 ns)
std dev              2.809 ns   (2.276 ns .. 3.616 ns)
variance introduced by outliers: 38% (moderately inflated)

Also generates an HTML-format report with some graphs. See http://www.serpentine.com/criterion/fibber.html for an example.

This also adds cachix-based caching for the nix build since the time to build the new benchmark dependencies otherwise pushes the job over the CircleCI job time limit (1 hour).