OK, see also http://code.google.com/p/cog/issues/detail?id=93
2012/9/1 Stefan Marr smalltalk@stefan-marr.de:
Hi Nicolas:
On 01 Sep 2012, at 22:15, Nicolas Cellier wrote:
I just tried on a stack VM (MacOSX core 2...), and I get different measurements, at most 3% penalty, not 20%
Sorry, the 20% claim is based on wrong assumptions... In short, I don't know what the penalty is on microbenchmarks.
I was only checking the benchmark results here: http://soft.vub.ac.be/~ppp/codespeed/changes/?tre=5&rev=5e18a83ed285c900... The corresponding patch is here: https://github.com/smarr/RoarVM/commit/5e18a83ed285c900aacd4190f91df6627d9cc...
As you can see, the IntLoop benchmark is taking a pretty strong hit. I was not cross-checking what the benchmark actually does, unfortunately. I was just assuming it does multiplication, which would explain the hit, but it does only do subtraction.
So, actually, I don't know. The benchmark is not measuring that primitive, and the other benchmarks are looking ok (taking measurement errors into account).
Still wonder what's wrong with the IntLoop benchmark thought. 20% for perhaps a new offset in the binary for related code, sounds like a lot.
Best regards Stefan
-- Stefan Marr Software Languages Lab Vrije Universiteit Brussel Pleinlaan 2 / B-1050 Brussels / Belgium http://soft.vub.ac.be/~smarr Phone: +32 2 629 2974 Fax: +32 2 629 3525