-
-
Notifications
You must be signed in to change notification settings - Fork 179
Expand file tree
/
Copy pathMakefile
More file actions
69 lines (54 loc) · 2.75 KB
/
Makefile
File metadata and controls
69 lines (54 loc) · 2.75 KB
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
ROOT:=$(shell git rev-parse --show-toplevel)
COMMIT:=$(shell git rev-parse --short HEAD)
MIN_RUNS:=25
src/scanners.rs: src/scanners.re
re2rust -W -Werror -i --no-generation-date -o $@ $<
cargo fmt
bench:
cargo build --release
(cd vendor/cmark-gfm/; make bench PROG=../../target/release/comrak)
binaries: build-comrak-branch build-comrak-main build-cmark-gfm build-pulldown-cmark build-markdown-it
build-comrak-branch:
cargo build --release --bin comrak --no-default-features --features cli
cp ${ROOT}/target/release/comrak ${ROOT}/benches/comrak-${COMMIT}
build-comrak-main:
git clone https://github.com/kivikakk/comrak.git --depth 1 --single-branch ${ROOT}/vendor/comrak || true
cd ${ROOT}/vendor/comrak && \
git fetch && \
git checkout . && \
git checkout origin/main && \
cargo build --release --bin comrak --no-default-features --features cli && \
cp ./target/release/comrak ${ROOT}/benches/comrak-main
build-cmark-gfm:
cd ${ROOT}/vendor/cmark-gfm && \
make && \
cp build/src/cmark-gfm ${ROOT}/benches/cmark-gfm
build-markdown-it:
cd ${ROOT}/vendor/markdown-it && \
cargo build --release --no-default-features && \
cp target/release/markdown-it ${ROOT}/benches/markdown-it
build-pulldown-cmark:
cd ${ROOT}/vendor/pulldown-cmark && \
cargo build --release && \
cp target/release/pulldown-cmark ${ROOT}/benches/pulldown-cmark
bench-comrak: build-comrak-branch
cd benches && \
hyperfine --warmup 3 --min-runs ${MIN_RUNS} -L binary comrak-${COMMIT} './bench.sh ./{binary}'
bench-comrak-vs-main: build-comrak-branch build-comrak-main
cd benches && \
hyperfine --warmup 10 --min-runs ${MIN_RUNS} -L binary comrak-${COMMIT},comrak-main './bench.sh ./{binary}' --export-markdown ${ROOT}/bench-output.md &&\
echo "\n\nRun on" `date -u` >> ${ROOT}/bench-output.md
bench-all: binaries
cd benches && \
hyperfine --warmup 10 --min-runs ${MIN_RUNS} -L binary comrak-${COMMIT},comrak-main,pulldown-cmark,cmark-gfm,markdown-it './bench.sh ./{binary}' --export-markdown ${ROOT}/bench-output.md &&\
echo "\n\nRun on" `date -u` >> ${ROOT}/bench-output.md
benches/samply-bench-input.md:
cat ${ROOT}/vendor/progit/*/*/*.markdown > $@
SAMPLY_OPTIONS:=-r 10000 --iteration-count 20 --reuse-threads
SAMPLY_COMRAK_ARGS:=benches/samply-bench-input.md -o /dev/null
samply-comrak-branch: benches/samply-bench-input.md build-comrak-branch
cat ${ROOT}/vendor/progit/*/*/*.markdown > benches/samply-bench-input.md
samply record -o profile-branch.json.gz ${SAMPLY_OPTIONS} ${ROOT}/benches/comrak-${COMMIT} ${SAMPLY_COMRAK_ARGS}
samply-comrak-main: benches/samply-bench-input.md build-comrak-main
cat ${ROOT}/vendor/progit/*/*/*.markdown > benches/samply-bench-input.md
samply record -o profile-main.json.gz ${SAMPLY_OPTIONS} -P 3001 ${ROOT}/benches/comrak-main ${SAMPLY_COMRAK_ARGS}