Hacker News new | ask | show | jobs
by austin-cheney 295 days ago
Two things immediately come to mind:

1) caching. Since Wine is an emulator it is an abstraction layer not present in your other scenario. It could be possible Wine is intelligently storing instructions. This would have massive benefits in the case of string interpolation where parsing a string is expensive and if the result of a parsed string is stored in memory then the extra layer with Wine should be dramatically faster.

2) hardware contexts. If one scenario is more CPU heavy than memory heavy and the other scenario the opposite you will get unexpected results, because different things are happening. It might appear that these scenarios are executing similar instructions, but that may not actually be the case.

1 comments

I think it's not correct to say 'Wine is an emulator', as its name suggests it isn't. Both programs are x86-64 and they run natively; they just call different APIs, backed by glibc or Wine, and eventually lead to (maybe different) syscalls to the Linux kernel. This also means they run on the same, physical hardware.