Sorry - should have specified the version that yielded these numbers is: Chrome (Mac) v 5.0.375.99.
On Jul 7, 7:54 am, Chad <[email protected]> wrote: > I was surprised to find that a function call returning a boolean from > a simple test was much (3x!) faster than an associative array > lookup... I was wondering if someone could explain to me how that > could be the case. Is v8 inlining the function somehow, or is the > overhead of a function call extremely low? > > Note 1: I'm not complaining, I'm just curious as to how things were > working under the covers. > Note 2: The opposite is true for Firefox, which is 2x slower using the > function call than the associative array... so an optimization for one > would result in a performance regression for another... :( > > Example: > > ------ > isWhitespace:function(charCode) { > return charCode == this.spaceCharCode || charCode == > this.tabCharCode || ... etc ...; > > }, > > for (var i = 0; i < aString.length; i++) { > var isWs = this.isWhitespace(aString.charCodeAt(i));} > > ------ > > Is 3x faster than: > > ------ > whitespace: Associative array mapping whitespace char codes to true, > > for (var i = 0; i < aString.length; i++) { > var isWs = this.whitespace[aString.charCodeAt(i)];} > > ------ > > Thanks in advance, Chad -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
