]> rtime.felk.cvut.cz Git - can-benchmark.git/blob - ugw/data/preprocess.m
Implement recvmmsg/sendmmsg gateway
[can-benchmark.git] / ugw / data / preprocess.m
1 #!/usr/bin/octave -q
2 ## -*-octave-*-
3
4 datafiles = argv();
5 datafiles = {
6              "rtems.dat"
7              "kernel.dat"
8              "mmapbusy-mmap.dat"
9              "mmapbusy-write.dat"
10              "readnb-write.dat"
11              "readbusy-write.dat"
12              "readbusynoirq-write.dat"
13              "readnb-mmap.dat"
14              "read-mmap.dat"
15              "read-write.dat"
16              "mmap-write.dat"
17              "mmap-mmap.dat"
18              "mmsg-mmsg.dat"
19 };
20
21 quantiles = [0 0.5 0.90 0.99];
22
23 mat = zeros(0, length(quantiles) + 2);
24 names = {};
25
26 for i=1:length(datafiles),
27   [d, n, e, v] = fileparts(datafiles{i});
28   try
29     x = load(datafiles{i})*1e6;
30     stat = csv2cell([n, "-stat.txt"], '=');
31     lost = stat{6,2};
32     q = quantile (x, quantiles);
33     q = max(q, 0)';
34     avg = mean(x);
35   catch
36     disp(["Skiping ", n]);
37     continue
38   end_try_catch
39   mat = [ mat; q lost avg ];
40   names{length(names)+1} = n;
41   disp(["Added ", n]);
42 end
43
44 if 0,
45   [mat, ind] = sortrows(mat, 2);
46   names = names(ind)
47 end
48 result = [names', num2cell(mat)];
49 cell2csv("result", result, ' ', '"');