Skip to content

benchmark: add warm run#7198

Merged
rgrinberg merged 1 commit intoocaml:mainfrom
jchavarri:bench/add-warm-run
Mar 2, 2023
Merged

benchmark: add warm run#7198
rgrinberg merged 1 commit intoocaml:mainfrom
jchavarri:bench/add-warm-run

Conversation

@jchavarri
Copy link
Copy Markdown
Collaborator

@jchavarri jchavarri commented Feb 28, 2023

Continuation of #7189.

I am looking at the first results of cold synthetic benchmarks and I am afraid any regressions or improvements on dune specific code might be hard to see because most time in cold builds is spent on calls to ocamlopt.

As discussed, this PR adds another bench that measures build time for warm builds. It is essentially the same code except the dune clean step between runs is replaced with just true.

Sample rendered chart: https://jchavarri.github.io/dune/dev/bench/

Signed-off-by: Javier Chávarri <javier.chavarri@gmail.com>
@jchavarri
Copy link
Copy Markdown
Collaborator Author

Please consider merging this PR before performance fix in #7187.

@rgrinberg rgrinberg merged commit 013a020 into ocaml:main Mar 2, 2023
@jchavarri jchavarri deleted the bench/add-warm-run branch March 2, 2023 17:41
jchavarri added a commit to jchavarri/dune that referenced this pull request Nov 15, 2023
* main: (56 commits)
  feature: add terminal ui backend based on NoTTY (ocaml#6996)
  doc(coq): update documentation about coqdep
  fix(rules): don't descend into automatic subdirs infinitely (ocaml#7208)
  benchmark: add warm run (ocaml#7198)
  test: vendored and public libs (ocaml#7197)
  test: use sh in concurrent test (ocaml#7205)
  fix: custom log file path (ocaml#7200)
  test(melange): add test exercising ocaml#7104 (ocaml#7204)
  test(melange): add a test that introduces rules in the target dir (ocaml#7196)
  test: duplicate packages in vendor dir (ocaml#7194)
  melange: interpret `melc --where` as a list of `:`-separated paths (ocaml#7176)
  perf: add synthetic benchmark (ocaml#7189)
  Test case for bug report (ocaml#6725)
  Add test illustrating ocaml#6575 (ocaml#6576)
  chore: add rule streaming proposal (ocaml#7195)
  test(stdlib): merge wrapped/unwrapped tests
  test: move all stdlib tests
  fix: allow unwrapped libraries with `(stdlib ..)`
  test: demonstrate crash in modules.ml when `(stdlib .. )` used with `(wrapped false)`
  fix(install): respect display options (ocaml#7116)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants