plasma-umass / doppio

Breaks the browser language barrier (includes a plugin-free JVM).
http://plasma-umass.github.io/doppio-demo
MIT License
2.16k stars 175 forks source link

Optimisation: Remove PC param from opcode implementations #437

Closed hrj closed 8 years ago

hrj commented 8 years ago
jvilk commented 8 years ago

While 1% to 2% is within the noise of normal JavaScript engine execution, this change makes the bytecode a bit cleaner, so I'm OK with it.

jvilk commented 8 years ago

thanks!

hrj commented 8 years ago

While 1% to 2% is within the noise of normal JavaScript engine execution,

Indeed, there is a lot of noise, though I believe I have been getting better at benchmarking these days. I follow this process:

emeryberger commented 8 years ago

These are all fine suggestions for experimental evaluation when you are trying to distinguish signal from noise. However, in real settings, where users will be multitasking, etc., 1-2% is absolutely noise. You want any gains to be visible to users in real settings; otherwise, they literally do not matter. As a policy matter, @jvilk is 100% correct: it doesn't make sense to chase after minor gains if they come at the cost of increased code complexity / maintenance costs. Luckily, in this case, it's the opposite. Thanks!