[dojo-contributors] Dojo 1.7 Goals: has() and granular dependency lists

Eugene Lazutkin eugene at lazutkin.com
Tue Mar 15 11:09:32 EDT 2011

Hash: SHA1

If memory serves me correctly, this decision (use our implementation in
all browsers) was done because of two factors: in almost all browsers
native implementations were *slower* than trivial JavaScript once, and
because of space considerations --- why ship two implemntations + a
switch between them, if there are no other benefits?

Just ran a test in Chrome 11 on Linux --- native versions 2-3 times
slower on this benchmark: http://www.perfjs.com/#638003

I tried it on FF3.6 --- forEach is twice slower, yet reduce* is almost
the same.

It appears that the current generation of browsers do not give us clear
incentive to switch, other than for possible build reduction purposes.


Eugene Lazutkin

On 03/15/2011 08:32 AM, Peter Higgins wrote:
> All the array utilities do this in the webkit mobile build (use natives,
> weird weird pragma at the bottom), but we were never serving native
> iterators as our own even in browsers that support it.
> On 3/15/11 9:13 AM, Kris Zyp wrote:
>> On 3/14/2011 10:24 PM, Bill Keese wrote:
>>> Doesn't your patch break backwards-compatibility?     Note the
>>> comment in all the methods in the current code:
>>> //This method corresponds to the JavaScript 1.6 Array.indexOf method,
>>> with one difference: when
>>> //run over sparse arrays, the Dojo function invokes the callback for
>>> every index whereas JavaScript
>>> //1.6's indexOf skips the holes in the sparse array.
>> I didn't write any new code, I just switched from the old build pragma
>> to has() branching. If it is not backwards-compatible, it hasn't been
>> backwards-compatible for sometime... So it is backwards-compatible
>> with the old backwards-incompatibility ;).
>> Kris
>> _______________________________________________
>> dojo-contributors mailing list
>> dojo-contributors at mail.dojotoolkit.org
>> http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
> _______________________________________________
> dojo-contributors mailing list
> dojo-contributors at mail.dojotoolkit.org
> http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/


More information about the dojo-contributors mailing list