-set title "CAN GW routing latency"
+#!/usr/bin/env gnuplot
+
+system("make")
+
set xlabel "Method"
set ylabel "GW latency [µs]"
+set y2tics
+set y2label "Lost frames"
+set y2range [0:*]
set style data histogram
set style histogram
set style fill solid border -1
set boxwidth 0.9
-set key off
+set key left Left reverse
set grid
set xtics rotate by -20
set style histogram errorbars gap 1 lw 1
-plot 'result' using 3:2:4:xtic(1);
+plot 'result' using 3:2:4:xtic(1) title "Latency", \
+ '' using 6:(0):(0) axes x1y2 title "Lost frames"
## -*-octave-*-
datafiles = argv();
+datafiles = {
+ "rtems.dat"
+ "kernel.dat"
+ "readnb-write.dat"
+ "mmapbusy-write.dat"
+ "mmapbusy-mmap.dat"
+ "readbusy-write.dat"
+ "read-write.dat"
+ "mmap-write.dat"
+ "mmap-mmap.dat"
+};
+
quantiles = [0 0.5 0.90 0.99];
-mat = zeros(0, length(quantiles));
+mat = zeros(0, length(quantiles) + 1);
names = {};
for i=1:length(argv),
+ [d, n, e, v] = fileparts(datafiles{i});
x = load(datafiles{i})*1e6;
+ stat = csv2cell([n, "-stat.txt"], '=');
+ lost = stat{6,2};
q = quantile (x, quantiles);
- mat = [ mat; q' ];
- [d, n, e, v] = fileparts(datafiles{i});
+ q = max(q, 0)';
+ mat = [ mat; q lost ];
names{i} = n;
end
-[mat, ind] = sortrows(mat, 2);
-result = [names(ind)', num2cell(mat)];
+if 0,
+ [mat, ind] = sortrows(mat, 2);
+ names = names(ind)
+end
+result = [names', num2cell(mat)];
cell2csv("result", result, ' ', '"');