#!/usr/bin/perl # Process the raw output from benchmark.sh into Javascript-ified HTML. use strict; use warnings; my @presets = (); my %presets = (); my $maxval = 0; while (<<>>) { chomp; if (/^(.*)(#.*): ([\d\.]+)$/) { push @presets, $1 unless defined $presets{$1}; push @{$presets{$1}}, $3; $maxval = $3 if $maxval < $3; } } print < Puzzle generation-time benchmarks

Puzzle generation-time benchmarks

Sort order: EOF my $index = 0; for my $preset (@presets) { my @data = sort { $a <=> $b } @{$presets{$preset}}; my $median = ($#data % 2 ? ($data[($#data-1)/2]+$data[($#data+1)/2])/2 : $data[$#data/2]); my $mean = 0; map { $mean += $_ } @data; $mean /= @data; print "\n"; $index++; } print < EOF sub escape { my ($text) = @_; $text =~ s/&/&/g; $text =~ s//>/g; return $text; }
Preset
", &escape($preset), "