tinymist/crates/crityp/README.md
Myriad-Dreamin 8ceb78f699
feat: micro benchmark support (#1160)
* feat: init crityp

* feat: delete the dirty patch

* feat: clean up unwraps in the tool

* feat: split cli main function

* docs update readme

* docs update readme

* docs: add comments

* docs: lint code
2025-01-14 18:20:58 +08:00

1 KiB

Crityp

Benchmark support for typst.

Usage

Use crityp to benchmark functions whose name starts with "bench" a typst file. The CLI arguments is compatible with typst-cli compile.

crityp test-bench.typ
Benchmarking /test-bench.typ@bench-fib
Benchmarking /test-bench.typ@bench-fib: Warming up for 3.0000 s
Benchmarking /test-bench.typ@bench-fib: Collecting 100 samples in estimated 5.3151 s (56k iterations)
Benchmarking /test-bench.typ@bench-fib: Analyzing
/test-bench.typ@bench-fib
                        time:   [93.919 µs 94.631 µs 95.459 µs]
                        change: [-7.2275% -5.2111% -3.4660%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
  2 (2.00%) low mild
  4 (4.00%) high mild
  1 (1.00%) high severe
Benchmarking /test-bench.typ@bench-fib2 ...

The example typst file is as follows:

#let fib(n) = if n < 2 { n } else { fib(n - 1) + fib(n - 2) }
#let bench-fib() = fib(20)
#let bench-fib2() = fib(20)