123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #!/usr/bin/perl
- use strict;
- my $mode = '';
- my $depth = 0;
- my $what = '';
- my $setupsize = 0;
- my $opsize = 0;
- while(<>) {
- chomp;
- if (/===== Running floram (\S+) (\d+)/) {
- $mode = $1;
- $depth = $2;
- $what = '';
- $setupsize = 0;
- $opsize = 0;
- next;
- }
- if (/ORAM ACCESS \(SETUP/) {
- $what = 'SETUP';
- next;
- }
- if (/ORAM ACCESS \(READ|WRITE/) {
- $what = 'OP';
- next;
- }
- if (/,8,/) {
- my @F = split(/,/);
- my @sizes = ();
- my $i;
- for ($i=4;$i<=$#F;$i+=3) {
- push(@sizes, $F[$i]);
- }
- if ($what eq '') {
- die "Unrecognized data line\n";
- }
- if ($what eq 'SETUP') {
- $setupsize += $sizes[0];
- } elsif ($#sizes == 0) {
- $opsize += 128 * $sizes[0];
- } elsif ($#sizes == 1) {
- $opsize += $sizes[0] + 127 * $sizes[1];
- } elsif ($#sizes == 127) {
- foreach (@sizes) { $opsize += $_; }
- } else {
- die "Bad number of data points\n";
- }
- }
- $what = '';
- if (/===== End/) {
- # The setupsize and opsize are the _sum_ for the two parties, so
- # add them to get the total size for both parties, and divide by
- # 2 to get the average size for each party
- my $bytes = ($setupsize + $opsize) / 2;
- my $kib = $bytes / 1024;
- print "$depth $kib\n";
- }
- }
|