mirror of
https://github.com/sharkdp/hyperfine.git
synced 2024-08-18 02:10:28 +03:00
Add median run time to CSV and JSON export formats
This commit is contained in:
parent
4a67987079
commit
51f92c527d
@ -3,7 +3,7 @@ use std::io;
|
|||||||
use std::process::Stdio;
|
use std::process::Stdio;
|
||||||
|
|
||||||
use colored::*;
|
use colored::*;
|
||||||
use statistical::{mean, standard_deviation};
|
use statistical::{mean, median, standard_deviation};
|
||||||
|
|
||||||
use crate::hyperfine::format::{format_duration, format_duration_unit};
|
use crate::hyperfine::format::{format_duration, format_duration_unit};
|
||||||
use crate::hyperfine::internal::{get_progress_bar, max, min, MIN_EXECUTION_TIME};
|
use crate::hyperfine::internal::{get_progress_bar, max, min, MIN_EXECUTION_TIME};
|
||||||
@ -313,6 +313,7 @@ pub fn run_benchmark(
|
|||||||
let t_num = times_real.len();
|
let t_num = times_real.len();
|
||||||
let t_mean = mean(×_real);
|
let t_mean = mean(×_real);
|
||||||
let t_stddev = standard_deviation(×_real, Some(t_mean));
|
let t_stddev = standard_deviation(×_real, Some(t_mean));
|
||||||
|
let t_median = median(×_real);
|
||||||
let t_min = min(×_real);
|
let t_min = min(×_real);
|
||||||
let t_max = max(×_real);
|
let t_max = max(×_real);
|
||||||
|
|
||||||
@ -394,6 +395,7 @@ pub fn run_benchmark(
|
|||||||
cmd.get_shell_command(),
|
cmd.get_shell_command(),
|
||||||
t_mean,
|
t_mean,
|
||||||
t_stddev,
|
t_stddev,
|
||||||
|
t_median,
|
||||||
user_mean,
|
user_mean,
|
||||||
system_mean,
|
system_mean,
|
||||||
t_min,
|
t_min,
|
||||||
|
@ -87,6 +87,7 @@ fn test_asciidoc_table_row() {
|
|||||||
String::from("sleep 1"), // command
|
String::from("sleep 1"), // command
|
||||||
0.10491992406666667, // mean
|
0.10491992406666667, // mean
|
||||||
0.00397851689425097, // stddev
|
0.00397851689425097, // stddev
|
||||||
|
0.10491992406666667, // median
|
||||||
0.005182013333333333, // user
|
0.005182013333333333, // user
|
||||||
0.0, // system
|
0.0, // system
|
||||||
0.1003342584, // min
|
0.1003342584, // min
|
||||||
@ -137,6 +138,7 @@ fn test_asciidoc_table_row_command_escape() {
|
|||||||
String::from("sleep 1|"), // command
|
String::from("sleep 1|"), // command
|
||||||
0.10491992406666667, // mean
|
0.10491992406666667, // mean
|
||||||
0.00397851689425097, // stddev
|
0.00397851689425097, // stddev
|
||||||
|
0.10491992406666667, // median
|
||||||
0.005182013333333333, // user
|
0.005182013333333333, // user
|
||||||
0.0, // system
|
0.0, // system
|
||||||
0.1003342584, // min
|
0.1003342584, // min
|
||||||
@ -174,6 +176,7 @@ fn test_asciidoc() {
|
|||||||
String::from("command | 1"),
|
String::from("command | 1"),
|
||||||
1.0,
|
1.0,
|
||||||
2.0,
|
2.0,
|
||||||
|
1.0,
|
||||||
3.0,
|
3.0,
|
||||||
4.0,
|
4.0,
|
||||||
5.0,
|
5.0,
|
||||||
@ -185,6 +188,7 @@ fn test_asciidoc() {
|
|||||||
String::from("command | 2"),
|
String::from("command | 2"),
|
||||||
11.0,
|
11.0,
|
||||||
12.0,
|
12.0,
|
||||||
|
11.0,
|
||||||
13.0,
|
13.0,
|
||||||
14.0,
|
14.0,
|
||||||
15.0,
|
15.0,
|
||||||
|
@ -84,6 +84,7 @@ fn test_markdown_format_ms() {
|
|||||||
String::from("sleep 0.1"),
|
String::from("sleep 0.1"),
|
||||||
0.1057, // mean
|
0.1057, // mean
|
||||||
0.0016, // std dev
|
0.0016, // std dev
|
||||||
|
0.1057, // median
|
||||||
0.0009, // user_mean
|
0.0009, // user_mean
|
||||||
0.0011, // system_mean
|
0.0011, // system_mean
|
||||||
0.1023, // min
|
0.1023, // min
|
||||||
@ -96,6 +97,7 @@ fn test_markdown_format_ms() {
|
|||||||
String::from("sleep 2"),
|
String::from("sleep 2"),
|
||||||
2.0050, // mean
|
2.0050, // mean
|
||||||
0.0020, // std dev
|
0.0020, // std dev
|
||||||
|
2.0050, // median
|
||||||
0.0009, // user_mean
|
0.0009, // user_mean
|
||||||
0.0012, // system_mean
|
0.0012, // system_mean
|
||||||
2.0020, // min
|
2.0020, // min
|
||||||
@ -129,6 +131,7 @@ fn test_markdown_format_s() {
|
|||||||
String::from("sleep 2"),
|
String::from("sleep 2"),
|
||||||
2.0050, // mean
|
2.0050, // mean
|
||||||
0.0020, // std dev
|
0.0020, // std dev
|
||||||
|
2.0050, // median
|
||||||
0.0009, // user_mean
|
0.0009, // user_mean
|
||||||
0.0012, // system_mean
|
0.0012, // system_mean
|
||||||
2.0020, // min
|
2.0020, // min
|
||||||
@ -141,6 +144,7 @@ fn test_markdown_format_s() {
|
|||||||
String::from("sleep 0.1"),
|
String::from("sleep 0.1"),
|
||||||
0.1057, // mean
|
0.1057, // mean
|
||||||
0.0016, // std dev
|
0.0016, // std dev
|
||||||
|
0.1057, // median
|
||||||
0.0009, // user_mean
|
0.0009, // user_mean
|
||||||
0.0011, // system_mean
|
0.0011, // system_mean
|
||||||
0.1023, // min
|
0.1023, // min
|
||||||
@ -173,6 +177,7 @@ fn test_markdown_format_time_unit_s() {
|
|||||||
String::from("sleep 0.1"),
|
String::from("sleep 0.1"),
|
||||||
0.1057, // mean
|
0.1057, // mean
|
||||||
0.0016, // std dev
|
0.0016, // std dev
|
||||||
|
0.1057, // median
|
||||||
0.0009, // user_mean
|
0.0009, // user_mean
|
||||||
0.0011, // system_mean
|
0.0011, // system_mean
|
||||||
0.1023, // min
|
0.1023, // min
|
||||||
@ -185,6 +190,7 @@ fn test_markdown_format_time_unit_s() {
|
|||||||
String::from("sleep 2"),
|
String::from("sleep 2"),
|
||||||
2.0050, // mean
|
2.0050, // mean
|
||||||
0.0020, // std dev
|
0.0020, // std dev
|
||||||
|
2.0050, // median
|
||||||
0.0009, // user_mean
|
0.0009, // user_mean
|
||||||
0.0012, // system_mean
|
0.0012, // system_mean
|
||||||
2.0020, // min
|
2.0020, // min
|
||||||
@ -223,6 +229,7 @@ fn test_markdown_format_time_unit_ms() {
|
|||||||
String::from("sleep 2"),
|
String::from("sleep 2"),
|
||||||
2.0050, // mean
|
2.0050, // mean
|
||||||
0.0020, // std dev
|
0.0020, // std dev
|
||||||
|
2.0050, // median
|
||||||
0.0009, // user_mean
|
0.0009, // user_mean
|
||||||
0.0012, // system_mean
|
0.0012, // system_mean
|
||||||
2.0020, // min
|
2.0020, // min
|
||||||
@ -235,6 +242,7 @@ fn test_markdown_format_time_unit_ms() {
|
|||||||
String::from("sleep 0.1"),
|
String::from("sleep 0.1"),
|
||||||
0.1057, // mean
|
0.1057, // mean
|
||||||
0.0016, // std dev
|
0.0016, // std dev
|
||||||
|
0.1057, // median
|
||||||
0.0009, // user_mean
|
0.0009, // user_mean
|
||||||
0.0011, // system_mean
|
0.0011, // system_mean
|
||||||
0.1023, // min
|
0.1023, // min
|
||||||
|
@ -125,6 +125,7 @@ fn test_compute_relative_speed() {
|
|||||||
command: name.into(),
|
command: name.into(),
|
||||||
mean: mean,
|
mean: mean,
|
||||||
stddev: 1.0,
|
stddev: 1.0,
|
||||||
|
median: mean,
|
||||||
user: mean,
|
user: mean,
|
||||||
system: 0.0,
|
system: 0.0,
|
||||||
min: mean,
|
min: mean,
|
||||||
|
@ -159,6 +159,9 @@ pub struct BenchmarkResult {
|
|||||||
/// The standard deviation of all run times
|
/// The standard deviation of all run times
|
||||||
pub stddev: Second,
|
pub stddev: Second,
|
||||||
|
|
||||||
|
/// The median run time
|
||||||
|
pub median: Second,
|
||||||
|
|
||||||
/// Time spend in user space
|
/// Time spend in user space
|
||||||
pub user: Second,
|
pub user: Second,
|
||||||
|
|
||||||
@ -186,6 +189,7 @@ impl BenchmarkResult {
|
|||||||
command: String,
|
command: String,
|
||||||
mean: Second,
|
mean: Second,
|
||||||
stddev: Second,
|
stddev: Second,
|
||||||
|
median: Second,
|
||||||
user: Second,
|
user: Second,
|
||||||
system: Second,
|
system: Second,
|
||||||
min: Second,
|
min: Second,
|
||||||
@ -197,6 +201,7 @@ impl BenchmarkResult {
|
|||||||
command,
|
command,
|
||||||
mean,
|
mean,
|
||||||
stddev,
|
stddev,
|
||||||
|
median,
|
||||||
user,
|
user,
|
||||||
system,
|
system,
|
||||||
min,
|
min,
|
||||||
|
Loading…
Reference in New Issue
Block a user