ocaml-bench / sandmark

A benchmark suite for the OCaml compiler
The Unlicense
82 stars 40 forks source link

Include percentiles in the pausetimes bench data #450

Closed punchagan closed 1 year ago

punchagan commented 1 year ago

The current format of the output hard depends on the exact order which olly uses, which may change and the data will become useless. The distribution should be a map not an array.

https://github.com/ocaml-bench/sandmark-nightly/blob/main/pausetimes_seq/turing/20230523_083948/a6f309fee5f78adcf0d2d748aebd12a53fe53d21/5.2.0%2Btrunk%2Bbartoszmodelski%2Bpr12212%2Bpausetimes_seq_1.pausetimes.summary.bench#L31-L50

For reference, here's where the percentiles come from: https://github.com/tarides/runtime_events_tools/blob/main/bin/olly.ml#L25-L43

punchagan commented 1 year ago

The JSON is directly generated by passing the --json flag to the olly latency command. The JSON produced by olly latency needs to be fixed. See here

punchagan commented 1 year ago

The issue has been fixed in https://github.com/tarides/runtime_events_tools/pull/13 but runtime_events_tools doesn't install on OCaml 5.1 and 5.2 due to ppxlib dependency.