#!/usr/bin/perl -w

$loops = 1000;
$stack_footprint = 1;
$shared_footprint = 4;

$tmp = `cat /proc/cpuinfo | grep MHz`;
$tmp =~ /^cpu MHz\s*: (.*)/;
$cpu_speed = $1;

$cmd = "plot ";

for ($workers = 2; $workers < 13; $workers += 2) {
	open("WO", ">worker-diff-$workers") || die "open failed: $!";
	$cmd .= "'worker-diff-$workers' with lines, ";

	for ($size = 0; $size < 64; $size++) {

		@bar = `./ctx 2 $workers $loops $cpu_speed $shared_footprint $size $stack_footprint`;

		$l = 1e6;
		for (@bar) {
			if (/^%.*?([0-9.]+)/) {
				if ($l > $1) {
					$l = $1;
				}
			}
		}

		$diff = $l;

		@bar = `./ctx 0 $workers $loops $cpu_speed $shared_footprint $size $stack_footprint`;

		$l = 1e6;
		for (@bar) {
			if (/^%.*?([0-9.]+)/) {
				if ($l > $1) {
					$l = $1;
				}
			}
		}

		$diff -= $l;
		$diff /= $workers;
		print WO "$size\t$diff\n";
		print "$workers $size\t$diff\n";
	}

	close(WO);
}

$cmd =~ s/,\s*$//;
print "Now run\n$cmd\nin gnuplot\n";

