r4745 - developers/werner/wlan-perf
werner at docs.openmoko.org
werner at docs.openmoko.org
Mon Nov 3 02:50:44 CET 2008
Author: werner
Date: 2008-11-03 02:50:44 +0100 (Mon, 03 Nov 2008)
New Revision: 4745
Modified:
developers/werner/wlan-perf/report
Log:
- don't pass around bytes and time separate, use the rate instead
- print "*1000B" instead of ambiguous "kB"
- compute standard deviation in new function std_dev
Modified: developers/werner/wlan-perf/report
===================================================================
--- developers/werner/wlan-perf/report 2008-11-03 01:48:41 UTC (rev 4744)
+++ developers/werner/wlan-perf/report 2008-11-03 01:50:44 UTC (rev 4745)
@@ -3,13 +3,12 @@
sub extract_ttcp()
{
- local ($name, *bytes, *time, *csw) = @_;
+ local ($name, *rate, *csw) = @_;
open(F, $name) || die "$name: $!";
while (<F>) {
if (/ (\d+) bytes in (\S+) real seconds/) {
- push(@bytes, $1);
- push(@time, $2);
+ push(@rate, $1/$2);
}
if (/ (\d+)\+(\d+)csw/) {
push(@csw, $1+$2);
@@ -29,41 +28,48 @@
sub ttcp_set()
{
- local (*bytes, *time, *csw, $i) = @_;
+ local (*rate, *csw, $i) = @_;
- $bytes += $bytes[$i];
- $time += $time[$i];
+ $rate += $rate[$i];
$csw += $csw[$i];
- return &ttcp_format($bytes[$i]/$time[$i], $csw[$i]);
+ return &ttcp_format($rate[$i], $csw[$i]);
}
+sub std_dev()
+{
+ local ($sq_sum, $avg, $n) = @_;
+
+ return sqrt($sq_sum/$n-$avg*$avg);
+}
+
+
sub report_ttcp()
{
local ($label_tx, $label_rx, $tx, $rx) = @_;
- local (@tx_bytes, @tx_time, @tx_csw);
- local (@rx_bytes, @rx_time, @rx_csw);
- local ($tx_bytes, $tx_time, $tx_csw);
- local ($rx_bytes, $rx_time, $rx_csw);
+ local (@tx_rate, @tx_csw);
+ local (@rx_rate, @rx_csw);
+ local ($tx_rate, $tx_csw);
+ local ($rx_rate, $rx_csw);
local ($gap) = " " x 4;
print "---- ",
$label_tx, " ", "-" x (15-length $label_tx), $gap,
$label_rx, " ", "-" x (15-length $label_rx), "\n";
print " " x 5,
- sprintf("%-8s %-7s", "kB/s", "ctx_sw"), $gap,
- sprintf("%-8s %-7s", "kB/s", "ctx_sw"), "\n";
+ sprintf("%-8s %-7s", "*1000B/s", "ctx_sw"), $gap,
+ sprintf("%-8s %-7s", "*1000B/s", "ctx_sw"), "\n";
- &extract_ttcp($tx, *tx_bytes, *tx_time, *tx_csw);
- &extract_ttcp($rx, *rx_bytes, *rx_time, *rx_csw);
- for ($i = 0; $i != @tx_bytes; $i++) {
+ &extract_ttcp($tx, *tx_rate, *tx_csw);
+ &extract_ttcp($rx, *rx_rate, *rx_csw);
+ for ($i = 0; $i != @tx_rate; $i++) {
print sprintf("%3d: ", $i+1),
- &ttcp_set(*tx_bytes, *tx_time, *tx_csw, $i), $gap,
- &ttcp_set(*rx_bytes, *rx_time, *rx_csw, $i), "\n";
+ &ttcp_set(*tx_rate, *tx_csw, $i), $gap,
+ &ttcp_set(*rx_rate, *rx_csw, $i), "\n";
}
print "AVG: ",
- &ttcp_format($tx_bytes/$tx_time, $tx_csw/@tx_bytes), $gap,
- &ttcp_format($rx_bytes/$rx_time, $rx_csw/@tx_bytes), "\n";
+ &ttcp_format($tx_rate/@tx_rate, $tx_csw/@tx_rate), $gap,
+ &ttcp_format($rx_rate/@tx_rate, $rx_csw/@tx_rate), "\n";
print "\n";
}
@@ -105,7 +111,7 @@
sprintf("%7.2f", $min), "/",
sprintf("%7.2f", $avg), "/",
sprintf("%7.2f", $max), " ",
- sprintf("%7.2f", sqrt($sq_sum/@time-$avg*$avg)), " ms\n";
+ sprintf("%7.2f", &std_dev($sq_sum, $avg, $#time+1)), " ms\n";
}
More information about the commitlog
mailing list