-
-
Notifications
You must be signed in to change notification settings - Fork 320
/
bench.sh
executable file
·46 lines (41 loc) · 2.01 KB
/
bench.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 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