Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

benchmark: add warm run #7198

Merged
merged 1 commit into from
Mar 2, 2023
Merged

Conversation

jchavarri
Copy link
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 <[email protected]>
@jchavarri
Copy link
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