Status: Accepted
Owner: ----
CC: [email protected],  [email protected]
Labels: Type-Bug Priority-Medium

New issue 3842 by [email protected]: 5x regression in the performance of dispatch table pattern
https://code.google.com/p/v8/issues/detail?id=3842

Dispatch table is something like this

handlers[obj.type](obj)

A reproduction worth a thousand words (test.js attached):

# V8 ToT
$ out/ia32.release/d8 test.js
354
# V8 3.14.5.9
$ node test.js
74

I didn't dig to deep into this but I think whatever is patched into keyed load doesn't probe megamorphic cache anymore. From the profile it looks like it constantly misses.

Such patterns are often used to write tree visitors. I suspect this is the reason for escodegen regression reported against io.js: https://github.com/iojs/io.js/issues/472 (escodegen benchmark regresses by 50%).

Attachments:
        test.js  618 bytes

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to