You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the wall time is reported with detailed statistics both in the TUI (mean + stddev + median + min + max), and in the JSON output (list of all the wall times via the times field).
In general, I think that the other statistics are relevant, as the mean can suffer from outlier bias and doesn't show the whole picture. And of course a detailed distribution plot can be worthwhile in some cases (as the various scripts allow), which requires the list of all the recorded times.
As such, would you be open to export more details of the user/system times?
At the minimum, I think that adding user_times and system_times arrays to the JSON output would allow further tools to reconstruct the median and stddev (or any other interesting statistic).
Additionally, the JSON output could also be extended with user_stddev, user_median, user_min, user_max fields (and likewise for system).
Lastly (but it's maybe more disruptive), the TUI could also report these details for user/system, when some CLI flag is enabled.
What do you think? I'll be happy to contribute PR(s) if you think some of these are worth adding.
The text was updated successfully, but these errors were encountered:
Slightly related: I also wanted to document what exactly user and system time mean, as that can be quite confusing (#597).
In general, I think that the other statistics are relevant, as the mean can suffer from outlier bias and doesn't show the whole picture. And of course a detailed distribution plot can be worthwhile in some cases (as the various scripts allow), which requires the list of all the recorded times.
Absolutely.
At the minimum, I think that adding user_times and system_times arrays to the JSON output would allow further tools to reconstruct the median and stddev (or any other interesting statistic).
Yes, let's do it.
Additionally, the JSON output could also be extended with user_stddev, user_median, user_min, user_max fields (and likewise for system).
Sounds good. It would be great if we could group those somehow. Something like:
runtime
mean
stddev
median
list: […]
user time
mean
stddev
median
list: […]
system time
mean
stddev
median
list: […]
Unfortunately, that would be a breaking change to the existing JSON format. But maybe something we could address in a 2.0 release?
Lastly (but it's maybe more disruptive), the TUI could also report these details for user/system, when some CLI flag is enabled.
That would be an option, but I'd like to carefully plan this feature (and the corresponding CLI). In the past, we also wanted to add the median run time to the output (#344), so the biggest question is: how should the new (default and possibly extended) layout look like?
What do you think? I'll be happy to contribute PR(s) if you think some of these are worth adding.
Currently, the wall time is reported with detailed statistics both in the TUI (mean + stddev + median + min + max), and in the JSON output (list of all the wall times via the
times
field).However, the
user
andsystem
times only report one number. The UI doesn't specify which number it is, but looking at the code reveals that it's the mean (https://github.com/sharkdp/hyperfine/blob/master/src/benchmark/mod.rs#L376-L377).In general, I think that the other statistics are relevant, as the mean can suffer from outlier bias and doesn't show the whole picture. And of course a detailed distribution plot can be worthwhile in some cases (as the various scripts allow), which requires the list of all the recorded times.
As such, would you be open to export more details of the user/system times?
user_times
andsystem_times
arrays to the JSON output would allow further tools to reconstruct the median and stddev (or any other interesting statistic).user_stddev
,user_median
,user_min
,user_max
fields (and likewise for system).What do you think? I'll be happy to contribute PR(s) if you think some of these are worth adding.
The text was updated successfully, but these errors were encountered: