[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

commstime not scaling


I was recently comparing commstime values for my python implementation of CSP-style primitives and kroc and came away with some surprising (to me anyway :o) results.  I tried the commstime metrics on two different machines, a 2.4 GHz Compaq laptop and a 1.0 GHz Dell. 

for the python implementation (using threading.Thread):

Compaq: 935 millseconds for the commstime loop
Dell: 895 milliseconds

for kroc (1.4.0-pre2):

Compaq: 440 nanoseconds
Dell: 385 nanoseconds

It wasn't terribly suprising to me that the results for the python implementation would be similar (no chance it would fit in cache, using OS scheduled threads, etc), but it was suprising to me that results for kroc were similar on both machines and that in both cases the slower machine had better results.

(The reasons could certainly be different; when there are that many orders of magnitude difference between implementations it would be naive to assume that the same factors *must* account for superficially similar results.)

What factors (other than cache effects) might account for the lack of scaling for kroc?  (Fred, you might have the best insight here.)

My tentative theory for the slower machine getting better results is that it has fewer background processes (they started out life as hard drive image clones, but I turned off a few background processes because the dell also has only 256 MB Ram, and for some of the things I'm doing it was paging to disk enough to be disruptive), but I'm also open to other possibilities at this point and need to test that theory more fully.

I'd also be interested in hearing about counterexamples, if anybody has them.

Alan Grover