mirror of
https://github.com/simonmichael/hledger.git
synced 2024-10-06 10:57:30 +03:00
;just: more benchmarks
This commit is contained in:
parent
12e67e4859
commit
31241bc968
65
Justfile
65
Justfile
@ -535,6 +535,14 @@ samplejournals:
|
|||||||
tools/generatejournal 8000 1000 10 > examples/8ktxns-1kaccts.journal
|
tools/generatejournal 8000 1000 10 > examples/8ktxns-1kaccts.journal
|
||||||
tools/generatejournal 9000 1000 10 > examples/9ktxns-1kaccts.journal
|
tools/generatejournal 9000 1000 10 > examples/9ktxns-1kaccts.journal
|
||||||
tools/generatejournal 10000 1000 10 > examples/10ktxns-1kaccts.journal
|
tools/generatejournal 10000 1000 10 > examples/10ktxns-1kaccts.journal
|
||||||
|
tools/generatejournal 20000 1000 10 > examples/20ktxns-1kaccts.journal
|
||||||
|
tools/generatejournal 30000 1000 10 > examples/30ktxns-1kaccts.journal
|
||||||
|
tools/generatejournal 40000 1000 10 > examples/40ktxns-1kaccts.journal
|
||||||
|
tools/generatejournal 50000 1000 10 > examples/50ktxns-1kaccts.journal
|
||||||
|
tools/generatejournal 60000 1000 10 > examples/60ktxns-1kaccts.journal
|
||||||
|
tools/generatejournal 70000 1000 10 > examples/70ktxns-1kaccts.journal
|
||||||
|
tools/generatejournal 80000 1000 10 > examples/80ktxns-1kaccts.journal
|
||||||
|
tools/generatejournal 90000 1000 10 > examples/90ktxns-1kaccts.journal
|
||||||
tools/generatejournal 100000 1000 10 > examples/100ktxns-1kaccts.journal
|
tools/generatejournal 100000 1000 10 > examples/100ktxns-1kaccts.journal
|
||||||
tools/generatejournal 1000000 1000 10 > examples/1Mtxns-1kaccts.journal
|
tools/generatejournal 1000000 1000 10 > examples/1Mtxns-1kaccts.journal
|
||||||
# many accounts
|
# many accounts
|
||||||
@ -586,6 +594,47 @@ symlink-binaries:
|
|||||||
printf "Running quick benchmarks (times are approximate, can be skewed):\n"
|
printf "Running quick benchmarks (times are approximate, can be skewed):\n"
|
||||||
which quickbench >/dev/null && quickbench {{ ARGS }} || echo "quickbench not installed (see bench.sh), skipping"
|
which quickbench >/dev/null && quickbench {{ ARGS }} || echo "quickbench not installed (see bench.sh), skipping"
|
||||||
|
|
||||||
|
@bench-quick8:
|
||||||
|
quickbench -w hledger-1.23,hledger-1.24,hledger-1.25,hledger-1.26,hledger-1.28,hledger-1.29,hledger-21ad,ledger
|
||||||
|
|
||||||
|
@bench-quick3:
|
||||||
|
quickbench -w hledger-1.26,hledger-21ad,ledger '_ -f examples/10ktxns-1kaccts.journal print' '_ -f examples/10ktxns-1kaccts.journal register' '_ -f examples/10ktxns-1kaccts.journal balance'
|
||||||
|
|
||||||
|
@bench-gtime:
|
||||||
|
for args in '-f examples/10ktxns-1kaccts.journal print' '-f examples/100ktxns-1kaccts.journal register' '-f examples/100ktxns-1kaccts.journal balance'; do \
|
||||||
|
echo; \
|
||||||
|
for app in hledger-1.26 hledger-21ad ledger; do \
|
||||||
|
echo; echo $app $args:; \
|
||||||
|
gtime $app $args >/dev/null; \
|
||||||
|
done; \
|
||||||
|
done
|
||||||
|
|
||||||
|
# show throughput at various data sizes with the given hledger executable (requires samplejournals)
|
||||||
|
@bench-throughput EXE:
|
||||||
|
echo date: `date`
|
||||||
|
echo system: `uname -a`
|
||||||
|
echo executable: {{ EXE }}
|
||||||
|
echo version: `{{ EXE }} --version`
|
||||||
|
for n in 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 100000 ; do \
|
||||||
|
printf "%6d txns: " $n; {{ EXE }} stats -f examples/${n}x1000x10.journal | tail -1; \
|
||||||
|
done
|
||||||
|
date
|
||||||
|
|
||||||
|
# show throughput at various data sizes with the latest hledger dev build, optimised or not (requires samplejournals)
|
||||||
|
@bench-throughput-dev:
|
||||||
|
stack build hledger
|
||||||
|
stack exec -- just throughput hledger
|
||||||
|
|
||||||
|
@bench-throughput-recent:
|
||||||
|
for v in 1.25 1.28 1.29 1.32 21ad; do printf "\nhledger-$v:\n"; for i in `seq 1 3`; do hledger-$v -f examples/10ktxns-10kaccts.journal stats | grep throughput; done; done
|
||||||
|
|
||||||
|
@bench-balance-many-accts:
|
||||||
|
quickbench -w hledger-1.25,hledger-1.28,hledger-1.29,hledger-1.30,hledger-1.31,hledger-1.32,hledger-21ad,ledger -f bench-many-accts.sh -N2
|
||||||
|
|
||||||
|
@bench-balance-many-txns:
|
||||||
|
quickbench -w hledger-21ad,ledger -f bench-many-txns.sh -N2
|
||||||
|
|
||||||
|
|
||||||
# samplejournals bench.sh
|
# samplejournals bench.sh
|
||||||
# bench: samplejournals tests/bench.tests tools/simplebench \
|
# bench: samplejournals tests/bench.tests tools/simplebench \
|
||||||
# $(call def-help,bench,\
|
# $(call def-help,bench,\
|
||||||
@ -606,22 +655,6 @@ symlink-binaries:
|
|||||||
# )
|
# )
|
||||||
# tools/progressionbench -- -t png -k png
|
# tools/progressionbench -- -t png -k png
|
||||||
|
|
||||||
# show throughput at various data sizes with the given hledger executable (requires samplejournals)
|
|
||||||
@throughput EXE:
|
|
||||||
echo date: `date`
|
|
||||||
echo system: `uname -a`
|
|
||||||
echo executable: {{ EXE }}
|
|
||||||
echo version: `{{ EXE }} --version`
|
|
||||||
for n in 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 100000 ; do \
|
|
||||||
printf "%6d txns: " $n; {{ EXE }} stats -f examples/${n}x1000x10.journal | tail -1; \
|
|
||||||
done
|
|
||||||
date
|
|
||||||
|
|
||||||
# show throughput at various data sizes with the latest hledger dev build, optimised or not (requires samplejournals)
|
|
||||||
@throughput-dev:
|
|
||||||
stack build hledger
|
|
||||||
stack exec -- just throughput hledger
|
|
||||||
|
|
||||||
# # prof: samplejournals \
|
# # prof: samplejournals \
|
||||||
# # $(call def-help,prof,\
|
# # $(call def-help,prof,\
|
||||||
# # generate and archive an execution profile\
|
# # generate and archive an execution profile\
|
||||||
|
3
bench-10ktxns-100kaccts.sh
Normal file
3
bench-10ktxns-100kaccts.sh
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
hledger -f examples/10000x100000x10.journal print
|
||||||
|
hledger -f examples/10000x100000x10.journal register
|
||||||
|
hledger -f examples/10000x100000x10.journal balance
|
3
bench-10ktxns-10kaccts.sh
Normal file
3
bench-10ktxns-10kaccts.sh
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
hledger -f examples/10000x10000x10.journal print
|
||||||
|
hledger -f examples/10000x10000x10.journal register
|
||||||
|
hledger -f examples/10000x10000x10.journal balance
|
14
bench-many-accts.sh
Normal file
14
bench-many-accts.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
hledger -f examples/1ktxns-1accts.journal balance
|
||||||
|
hledger -f examples/1ktxns-10accts.journal balance
|
||||||
|
hledger -f examples/1ktxns-100accts.journal balance
|
||||||
|
hledger -f examples/1ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/1ktxns-10kaccts.journal balance
|
||||||
|
hledger -f examples/1ktxns-100kaccts.journal balance
|
||||||
|
hledger -f examples/1ktxns-1maccts.journal balance
|
||||||
|
hledger -f examples/10ktxns-1accts.journal balance
|
||||||
|
hledger -f examples/10ktxns-10accts.journal balance
|
||||||
|
hledger -f examples/10ktxns-100accts.journal balance
|
||||||
|
hledger -f examples/10ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/10ktxns-10kaccts.journal balance
|
||||||
|
hledger -f examples/10ktxns-100kaccts.journal balance
|
||||||
|
hledger -f examples/10ktxns-1maccts.journal balance
|
19
bench-many-txns.sh
Normal file
19
bench-many-txns.sh
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
hledger -f examples/1ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/2ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/3ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/4ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/5ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/6ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/7ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/8ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/9ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/10ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/20ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/30ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/40ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/50ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/60ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/70ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/80ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/90ktxns-1kaccts.journal balance
|
||||||
|
hledger -f examples/100ktxns-1kaccts.journal balance
|
Loading…
Reference in New Issue
Block a user