Here is my theory. After warmup, every call to busyPause() takes 5 seconds.
During that time the thread will be interrupted many times. Even if it is
run
on the same CPU after every interrupt, the cache state will be gone.
Basically, what you measure after busyPause() is repopulating your caches.
To test this theory, add one line after busyPause() which does that
proactively
before measurement:
double x = busyPause(interval);
+ calculation += x / (rand.nextInt(5) + 1);
-- Oleg
--
You received this message because you are subscribed to the Google Groups
"mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.