Closed Bug 664738 Opened 13 years ago Closed 13 years ago

TI: large object initializer much slower with TI enabled

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jandem, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

353.88 KB, application/x-javascript
Details
Attached file Testcase
Attached test case is much slower with -n:
--
js          :  0,121 ms
js -m -a    :  0,253 ms
js -n       :  5,400 ms
js -n -a    : 28,622 ms
js -m -n -a : 50,447 ms
--
Release build, 32-bit OS X, revision 9ff00d53b5a5.

This is a generated testcase but based on one of my pet projects, and I can imagine websites doing things like this.
The problem here was the quadratic search needed to find the right type object to use for new arrays/objects in scripts containing tons of initializers.  Type objects for allocation sites are now tracked in a compartment-wide hashtable, which gives better asymptotic complexity and is a better use of memory (most type objects created are not initializers).

Now I get these times (computed by timing how long a load(...) takes, as much of the overhead is during parsing).

js           72
js -m        72
js -m -a     183
js -m -n     113
js -m -n -a  344
d8           162
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: