mirror of
https://github.com/anoma/juvix.git
synced 2024-12-03 09:41:10 +03:00
3a4cbc742d
The following benchmark compares juvix 0.6.0 with polysemy and a new version (implemented in this pr) which replaces polysemy by effectful. # Typecheck standard library without caching ``` hyperfine --warmup 2 --prepare 'juvix-polysemy clean' 'juvix-polysemy typecheck Stdlib/Prelude.juvix' 'juvix-effectful typecheck Stdlib/Prelude.juvix' Benchmark 1: juvix-polysemy typecheck Stdlib/Prelude.juvix Time (mean ± σ): 3.924 s ± 0.143 s [User: 3.787 s, System: 0.084 s] Range (min … max): 3.649 s … 4.142 s 10 runs Benchmark 2: juvix-effectful typecheck Stdlib/Prelude.juvix Time (mean ± σ): 2.558 s ± 0.074 s [User: 2.430 s, System: 0.084 s] Range (min … max): 2.403 s … 2.646 s 10 runs Summary juvix-effectful typecheck Stdlib/Prelude.juvix ran 1.53 ± 0.07 times faster than juvix-polysemy typecheck Stdlib/Prelude.juvix ``` # Typecheck standard library with caching ``` hyperfine --warmup 1 'juvix-effectful typecheck Stdlib/Prelude.juvix' 'juvix-polysemy typecheck Stdlib/Prelude.juvix' --min-runs 20 Benchmark 1: juvix-effectful typecheck Stdlib/Prelude.juvix Time (mean ± σ): 1.194 s ± 0.068 s [User: 0.979 s, System: 0.211 s] Range (min … max): 1.113 s … 1.307 s 20 runs Benchmark 2: juvix-polysemy typecheck Stdlib/Prelude.juvix Time (mean ± σ): 1.237 s ± 0.083 s [User: 0.997 s, System: 0.231 s] Range (min … max): 1.061 s … 1.476 s 20 runs Summary juvix-effectful typecheck Stdlib/Prelude.juvix ran 1.04 ± 0.09 times faster than juvix-polysemy typecheck Stdlib/Prelude.juvix ```
16 lines
470 B
YAML
16 lines
470 B
YAML
ghc-options:
|
|
"$locals": -optP-Wno-nonportable-include-path
|
|
resolver: nightly-2024-02-06
|
|
extra-deps:
|
|
- resourcet-effectful-1.0.1.0
|
|
- git: https://github.com/haskell-effectful/effectful.git
|
|
commit: 2037be9a4f4e8f8fd280d9359b1bc7feff9b29b9
|
|
subdirs:
|
|
- effectful-th
|
|
- git: https://github.com/Vekhir/aeson-better-errors.git
|
|
commit: 1ec49ab7d1472046b680b5a64ae2930515b47714
|
|
allow-newer: true
|
|
allow-newer-deps:
|
|
- aeson-better-errors
|
|
- effectful-th
|