Disable baseline comparison action

This commit is contained in:
2026-08-17 20:39:29 +02:00
parent ff26c61ab2
commit ba1f169ee0
+87 -87
View File
@@ -336,93 +336,93 @@ my %handlers = (
0, @entries );
},
'11b. Compare to Baseline' => sub {
my $baseline = Util::select_experiment(0);
my @selected_experiments = Util::select_experiment(1);
# TODO: Fails silently if not every selected experiment has this datafile
my $resultsdata_csv =
Util::pick_data_file( "$local_archive_dir/$baseline", "resultsdata" );
my %all_results;
foreach my $experiment ( $baseline, @selected_experiments ) {
my $data = Text::CSV_XS::csv(
in => "$local_archive_dir/$experiment/$resultsdata_csv",
headers => 'auto'
);
foreach my $row (@$data) {
$all_results{$experiment}{ $row->{benchmark} }
{ $row->{resulttype} } = $row->{faults};
}
}
my @benchs = ( 'ip', 'mem', 'regs' );
my @markers = (
'OK_MARKER', 'FAIL_MARKER',
'DETECTED_MARKER', 'TIMEOUT',
'TRAP', 'WRITE_TEXTSEGMENT',
'ACCESS_OUTERSPACE', 'GROUP1_MARKER'
);
my $heading = sprintf( "%5s %20s %50s ", "BENCH", "TYPE", $baseline );
my $subheading = sprintf( "%5s %20s %50s ",
"", "", Util::read_experiment_info($baseline) );
foreach my $experiment (@selected_experiments) {
$heading .= sprintf( "%50s ", $experiment );
$subheading .=
sprintf( "%50s ", Util::read_experiment_info($experiment) );
}
my @entries = ( $heading, $subheading, "" );
foreach my $benchmark (@benchs) {
foreach my $marker (@markers) {
my $entry = sprintf( "%5s %20s ", $benchmark, $marker );
if ( exists $all_results{$baseline}{$benchmark}{$marker} ) {
$entry .= sprintf(
"%50s ",
Util::format_number_sep(
$all_results{$baseline}{$benchmark}{$marker}
)
);
}
else {
$entry .= sprintf( "%50s ", "" );
}
foreach my $experiment (@selected_experiments) {
if ( exists $all_results{$baseline}{$benchmark}{$marker}
and
exists $all_results{$experiment}{$benchmark}{$marker}
and $all_results{$baseline}{$benchmark}{$marker} != 0 )
{
my $factor =
$all_results{$experiment}{$benchmark}{$marker} /
$all_results{$baseline}{$benchmark}{$marker};
$entry .=
sprintf( "%50s ", sprintf( "%.2fx", $factor ) );
}
else {
$entry .= sprintf( "%50s ", "" );
}
}
push @entries, $entry;
}
push @entries, "";
}
TUI::select_from_list(
"Baseline: $baseline — Comparing "
. scalar(@selected_experiments)
. " Experiments",
0, @entries
);
},
# '11b. Compare to Baseline' => sub {
#
# my $baseline = Util::select_experiment(0);
#
# my @selected_experiments = Util::select_experiment(1);
#
# # TODO: Fails silently if not every selected experiment has this datafile
# my $resultsdata_csv =
# Util::pick_data_file( "$local_archive_dir/$baseline", "resultsdata" );
#
# my %all_results;
# foreach my $experiment ( $baseline, @selected_experiments ) {
#
# my $data = Text::CSV_XS::csv(
# in => "$local_archive_dir/$experiment/$resultsdata_csv",
# headers => 'auto'
# );
#
# foreach my $row (@$data) {
# $all_results{$experiment}{ $row->{benchmark} }
# { $row->{resulttype} } = $row->{faults};
# }
# }
#
# my @benchs = ( 'ip', 'mem', 'regs' );
# my @markers = (
# 'OK_MARKER', 'FAIL_MARKER',
# 'DETECTED_MARKER', 'TIMEOUT',
# 'TRAP', 'WRITE_TEXTSEGMENT',
# 'ACCESS_OUTERSPACE', 'GROUP1_MARKER'
# );
#
# my $heading = sprintf( "%5s %20s %50s ", "BENCH", "TYPE", $baseline );
# my $subheading = sprintf( "%5s %20s %50s ",
# "", "", Util::read_experiment_info($baseline) );
# foreach my $experiment (@selected_experiments) {
# $heading .= sprintf( "%50s ", $experiment );
# $subheading .=
# sprintf( "%50s ", Util::read_experiment_info($experiment) );
# }
#
# my @entries = ( $heading, $subheading, "" );
# foreach my $benchmark (@benchs) {
# foreach my $marker (@markers) {
# my $entry = sprintf( "%5s %20s ", $benchmark, $marker );
#
# if ( exists $all_results{$baseline}{$benchmark}{$marker} ) {
# $entry .= sprintf(
# "%50s ",
# Util::format_number_sep(
# $all_results{$baseline}{$benchmark}{$marker}
# )
# );
# }
# else {
# $entry .= sprintf( "%50s ", "" );
# }
#
# foreach my $experiment (@selected_experiments) {
# if ( exists $all_results{$baseline}{$benchmark}{$marker}
# and
# exists $all_results{$experiment}{$benchmark}{$marker}
# and $all_results{$baseline}{$benchmark}{$marker} != 0 )
# {
# my $factor =
# $all_results{$experiment}{$benchmark}{$marker} /
# $all_results{$baseline}{$benchmark}{$marker};
# $entry .=
# sprintf( "%50s ", sprintf( "%.2fx", $factor ) );
# }
# else {
# $entry .= sprintf( "%50s ", "" );
# }
# }
#
# push @entries, $entry;
# }
# push @entries, "";
# }
#
# TUI::select_from_list(
# "Baseline: $baseline — Comparing "
# . scalar(@selected_experiments)
# . " Experiments",
# 0, @entries
# );
# },
'12. Open Experiment in BinaryNinja' => sub {
my @selected_experiments = Util::select_experiment(1);