Skip to content

Commit

Permalink
Handle the case where there's no (or just one) performance difference…
Browse files Browse the repository at this point in the history
… when generating the PDF output of performance tests.
  • Loading branch information
malcolmroberts authored Jul 24, 2024
1 parent 8f69517 commit bf74812
Showing 1 changed file with 36 additions and 14 deletions.
50 changes: 36 additions & 14 deletions scripts/perf/histogram.asy
Original file line number Diff line number Diff line change
Expand Up @@ -42,37 +42,59 @@ real bounds = infinity; //40000;

real[] a;
for(int i = 0; i < b.length; ++i) {
if(abs(b[i]) < bounds)
if(abs(b[i]) < bounds) {
a.push(b[i]);
}
}

int N = nbinmult * bins(a);

real lower = min(0, min(a));
real upper = max(0, max(a));

histogram(a,
lower,
upper,
N,
normalize=false,
low=0,
lightred,
black,
bars=true);
real dx=(upper-lower)/N;
real[] freq=frequency(a,lower,upper,N);
write(freq);

if(a.length == 1) {
real[] bin = {lower, upper};
real[] count = {1};
histogram(bins = bin,
count = count,
low=0.0,
fillpen=lightred,
drawpen=black,
bars=false,
legend="",
markersize=legendmarkersize);
} else {
histogram(a,
lower,
upper,
N,
normalize=false,
low=0,
lightred,
black,
bars=true);
}

xequals(0.0);

//label((min(a), 0), string(min(a), 3), 1.5S);
//label((max(a), 0), string(max(a), 3), 1.5S);

real Step = 0.0;
if(max(a) - min(a) < 4) {
if(a.length > 1) {

real Step = 0.0;
if(max(a) - min(a) < 4) {
real order = ceil(log(max(a) - min(a))/log(10));
Step = 0.5 * 10**(order-1);
}
xaxis("Speedup \%", BottomTop, LeftTicks(Step=Step));
} else {
xaxis("Speedup \%", BottomTop, LeftTicks);
}

xaxis("Speedup \%", BottomTop, LeftTicks(Step=Step));
yaxis("Number of Transforms", LeftRight, RightTicks);


Expand Down

0 comments on commit bf74812

Please sign in to comment.