When I try to find this kind of thing, I try to eliminate as much as possible, then add stuff back until I find the issue.  Try running test on native OS in both cases w/o VM.  Also, verify your timer code is same in both cases.