[ANN] Nile 0.9.0

"Martin v. Löwis" martin at v.loewis.de
Sun Jun 10 07:07:17 UTC 2007


> I noticed these changes too but I didn't understand why they happened.
> Can you help me investigate please?

I guess the main problem is that taking wall-clock time for the
measurement. This gets incorrect on a multi-tasking system if there
is other activity in the system. The tests are designed to run for
1s (IIUC); if some fraction of that second was spent in other
activity, Squeak would achieve less than it can in a different
second.

To some degree, the same holds for activities within Squeak as
well; those you could close out by running the test at a high
priority.

The other problem might be garbage collection. Even though you run
GC before starting the test, you won't really know whether GC also
happened during the test.

The best way to measure in this kind of scenario is to measure
instructions. If the VM would support counting byte code
instructions executed, ideally on a per-process basis, you would
get a more precise measurement. Failing that, if the processor
supports counting cycles (as the x86 processors do with the
TSC), and if the system supports accounting of such cycles on
a per-thread basis (as Microsoft Vista does), you could use
such accounting as a better basis than time passed.

Regards,
Martin



More information about the Squeak-dev mailing list