- client: when I changed the length of benchmark intervals

from 20 to 10 seconds, this broke things on ultra-slow CPUs.
		I think this is because a single loop of the FP
		benchmark took so long that the end time of the int
		benchmark had already come and gone.
		Fixed this (I hope) by reducing the loop length
		by a factor of 10.

	client/
		cs_benchmark.C
		dhrystone.C
		whetstone.C

svn path=/trunk/boinc/; revision=12908
This commit is contained in:
David Anderson 2007-06-12 17:28:08 +00:00
parent f8af50e685
commit 3bbb17f117
4 changed files with 22 additions and 5 deletions

View File

@ -6123,3 +6123,17 @@ David 12 June 2007
client/
client_state.C
cs_statefile.C
David 12 June 2007
- client: when I changed the length of benchmark intervals
from 20 to 10 seconds, this broke things on ultra-slow CPUs.
I think this is because a single loop of the FP
benchmark took so long that the end time of the int
benchmark had already come and gone.
Fixed this (I hope) by reducing the loop length
by a factor of 10.
client/
cs_benchmark.C
dhrystone.C
whetstone.C

View File

@ -19,8 +19,8 @@
// Manage a (perhaps multi-processor) benchmark.
// Because of hyperthreaded CPUs we can't just benchmark 1 CPU;
// we have to run parallel benchmarks,
// and we have to ensure that they run more or less concurrently.
// we must run parallel benchmarks
// and ensure that they run more or less concurrently.
// Here's our scheme:
// - the main program forks N benchmarks threads or processes
// - after FP_START seconds it creates a file "do_fp"

View File

@ -109,7 +109,9 @@ void dhrystone(
Arr_2_Glob [8][7] = 10;
Loops = 160000; // determines runtime
Loops = 16000; // determines runtime
// This must be small enough that, on the slowest CPU,
// one loop completes within 10 seconds.
benchmark_wait_to_start(BM_TYPE_INT);

View File

@ -87,9 +87,10 @@ void whetstone(double& flops) {
double startsec, finisec;
double KIPS;
int xtra, ii;
int x100 = 10000; // chosen to make each pass take about 1 sec
int x100 = 1000; // chosen to make each pass take about 0.1 sec
// on my current computer (2.2 GHz celeron)
// Non-critical.
// This must be small enough that one loop finishes
// in 10 sec on the slowest CPU
extern_array[11] = 1;
benchmark_wait_to_start(BM_TYPE_FP);