How Do Browsers Scale?
An anonymous reader writes "Benchmarking browsers is a somewhat silly exercise, since scores cannot be replicated on a variety of hardware, and it is not uncommon for even the same system to fail to replicate benchmarks scores, especially in JavaScript tests in two succeeding runs. The guys over at ConceivablyTech have an interesting approach, running browsers through multiple tests on different sets of hardware (including an Android smartphone), and showing the scaling differences between browsers when you are using a dual-core netbook on the low-end and a six-core desktop on the high-end. They also tested HTML5 on Firefox mobile and found the browser has better HTML5 support than the current Firefox 4 Beta 6."
Why not a VM that runs bytecode, and JIT compiling, so your favourite language can be used?
Several reasons. First, all such VMs - the JVM, .NET, Mono - have far worse startup performance than JavaScript. That's why Java applets never took off. While those VMs improved in that respect, they still lag far behind JS in startup time. They are optimized for long-running processes, not small client scripts that should get going instantaneously. Different goals here.
.NET or Mono - Jython, IronPython, etc.). IMHO it makes sense to have a low bar for writing scripts for websites. You shouldn't need to do C/C++ memory management, or write lots of static typing definitions, to add a little scripting to your website. So something like JavaScript, Python or Ruby makes sense. But again, this last point is clearly debatable, that's just my opinion.
Second, there is no clear open standard for such a VM anyhow. The JVM and CLR are known to have various patents around them; we have recently seen Oracle sue Google, and Microsoft execs have admitted that Mono is only free from risk because it is licensed by Microsoft. So neither is a good foundation for something meant to be truly open and free, like the Web should be.
Third, existing JavaScript engines are, by far, the fastest implementations of dynamic languages out there (much faster than such languages running on the JVM,