]> rtime.felk.cvut.cz Git - can-benchmark.git/blob - ugw/data/preprocess.m
Preprocess only files that exist, don't fail on missing file
[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              "readbusy-noirq.dat"
13              "readnb-mmap.dat"
14              "read-mmap.dat"
15              "read-write.dat"
16              "mmap-write.dat"
17              "mmap-mmap.dat"
18 };
19
20 quantiles = [0 0.5 0.90 0.99];
21
22 mat = zeros(0, length(quantiles) + 2);
23 names = {};
24
25 for i=1:length(datafiles),
26   [d, n, e, v] = fileparts(datafiles{i});
27   try
28     x = load(datafiles{i})*1e6;
29     stat = csv2cell([n, "-stat.txt"], '=');
30     lost = stat{6,2};
31     q = quantile (x, quantiles);
32     q = max(q, 0)';
33     avg = mean(x);
34   catch
35     disp(["Skiping ", n]);
36     continue
37   end_try_catch
38   mat = [ mat; q lost avg ];
39   names{length(names)+1} = n;
40   disp(["Added ", n]);
41 end
42
43 if 0,
44   [mat, ind] = sortrows(mat, 2);
45   names = names(ind)
46 end
47 result = [names', num2cell(mat)];
48 cell2csv("result", result, ' ', '"');