I'm assuming the use case of desktop, browser usage here, and not server usage. Regardless, there is no ultimate $engineA > $engineB that applies globally.
Actual JavaScript Engine Performance
61–65 of 65 posts
Re: Actual JavaScript Engine Performance
#62Earlier quoted context omitted.
Comparing IE10 to Chrome 10 isn't exactly apples to apples. Chrome 11 or 12 should be compared to IE10 since those are the development versions.
> Comparing IE10 to Chrome 10 isn't exactly apples to apples. Chrome 11 or 12 should be compared to IE10 since those are the development versions. That is true - comparing an unreleased IE to a released Chrome isn't fair. However, the released Chrome was much slower than all other released browsers - Firefox, Safari, Opera, even IE9. Chrome usually does well on benchmarks, so it is interesting to see it doing so poor…
Re: Actual JavaScript Engine Performance
#63Why is it centered around IE10? Seems biased. A researcher wouldn't do that.
Re: Actual JavaScript Engine Performance
#64It is a Microsoft paper, a Microsoft test... be careful.
The paper ( http://research.microsoft.com/pubs/118663/paper_tr.pdf ) is an academic-style tech report by researchers, not ad-copy by people in HR.
Re: Actual JavaScript Engine Performance
#65V8/Chrome uses the constructor as a big part of the heuristic that determines the 'hidden class' of an object. The other part of the heuristic is the names and ordering of the properties on the object. Unfortunately, JSlint creates all its objects with Object.create and not with a constructor function. This causes objects with a similar structure to have a different 'hidden class'. This causes most of the optimizatio…
Interestingly, the 2nd argument to Object.create was specifically designed (by me) so that an object's "shape" could be statically determined. If the descriptor is all literals (they usually are) then each Object.create call site is essentially a construction site for a "class" of objects that share a common structure. As Erik says, this should be fixable. It sounds to me like Crock's coding style is just ahead of th…
https://github.com/douglascrockford/JSLint/blob/master/jslin...
(I really hope that this is not coding-style-of-the-future)
As you can see single Object.create callsite becomes a construction site for objects that might _not_ share a common structure (they potentially have different prototypes).