# Some standard commands to benchmark. "quickbench" runs these by default. # There is another set of benchmarks in the hledger package: hledger/bench/bench.hs # Here is a quick benchmarking guide. Note these are quick measurements which # can be affected by system activity. Usually this isn't a problem. The last # (criterion) is more robust. # # Generate the test journals: # make samplejournals # # Get quickbench: # git clone https://github.com/simonmichael/quickbench # cd quickbench # stack install # must be run in source dir # # Measure performance: # time ./bench.sh # show if these work, what they do, total time (GNU time also shows max memory) # quickbench [OPTS] # time each command, one or more times # make bench # time each command with several hledger versions (BENCHEXES in Makefile) # stack bench hledger # time a different set of benchmarks (bench/bench.hs) # stack bench hledger --ba --criterion # time more carefully, using criterion # commands to benchmark: # hledger -f examples/100x100x10.journal print # hledger -f examples/1000x1000x10.journal print hledger -f examples/10000x1000x10.journal print # hledger -f examples/10000x1000x10.journal print ff #hledger -f examples/100000x1000x10.journal print #hledger -f examples/100000x1000x10.journal print ff # hledger -f examples/100x100x10.journal register # hledger -f examples/1000x1000x10.journal register hledger -f examples/10000x1000x10.journal register # hledger -f examples/10000x1000x10.journal register ff #hledger -f examples/100000x1000x10.journal register #hledger -f examples/100000x1000x10.journal register ff # hledger -f examples/100x100x10.journal balance # hledger -f examples/1000x1000x10.journal balance hledger -f examples/10000x1000x10.journal balance # hledger -f examples/10000x1000x10.journal balance ff #hledger -f examples/100000x1000x10.journal balance #hledger -f examples/100000x1000x10.journal balance ff #hledger -f examples/1000x1000x10.journal balance --weekly #hledger -f examples/10000x1000x10.journal balance --weekly