Closed
Bug 698407
Opened 13 years ago
Closed 13 years ago
Performance degradation during string concatenation
Categories
(Tamarin Graveyard :: Virtual Machine, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: brbaker, Assigned: virgilp)
References
Details
Attachments
(1 file, 1 obsolete file)
943 bytes,
text/plain
|
Details |
Performance degradation during verification. cd performance ./runtests.py language/string/typed/split.as With the float patch queue this takes about 5 minutes to run, while the tamarin-redux repo runs in about 300ms. Actually this is pretty interesting, the code reports that it only takes 300ms to actually run, but if you use >$ time $AVM test.abc you can see that it takes about 5 minutes to run. Is this unaccounted for time in the verifier or codegen? tamarin: >$ avmshell test.abc 305 float: >$ time avmshell test.abc 308 real 5m11.250s user 2m2.796s sys 3m8.434s
Reporter | ||
Comment 1•13 years ago
|
||
This also happens with -Dinterp on the float branch (OS X 64bit release )
>$ time avmshell -Dinterp test.abc
286
real 5m10.118s
user 2m1.130s
sys 3m8.967s
Reporter | ||
Comment 2•13 years ago
|
||
Issue is not during verification as -Dverifyonly runs quickly, same as tamarin-redux using release-debugger builds. Title of bug needs to be updated once somebody knows where all of the time is going.
Reporter | ||
Comment 3•13 years ago
|
||
testcase narrowed down to the string concatenation, I should have taken another second to look at the code the first time
Attachment #570679 -
Attachment is obsolete: true
Reporter | ||
Updated•13 years ago
|
Summary: Performance degradation during verification → Performance degradation during string concatenation
Reporter | ||
Comment 4•13 years ago
|
||
(In reply to Brent Baker from comment #3) > Created attachment 570701 [details] > simple testcase > > testcase narrowed down to the string concatenation, I should have taken > another second to look at the code the first time GC cycles are completely different between tamarin and the float queue for this code: Tamarin: gccount=4 incremental-marks=34 peak-occupancy: blocks-heap-allocated=7134 blocks-gc-allocated=6427 blocks-private=3665 Float: gccount=9477 incremental-marks=9500 peak-occupancy: blocks-heap-allocated=38143 blocks-gc-allocated=24823 blocks-private=15095
Reporter | ||
Comment 5•13 years ago
|
||
Compiling the shell with float disabled brings back the lost performance. Recompile builtins (modify core/builtin.py to set VMCFG_FLOAT=false) and compile with --disable-swf16
Assignee | ||
Comment 6•13 years ago
|
||
Note: interpreter issue (works fine with -Ojit in new VM; works slow with -Dinterp in new VM, but fast with -Dinterp in old VM). Note2: I can't for the life of me figure out why this would happen. It makes no sense. Oh well, maybe tomorrow...
Assignee | ||
Comment 7•13 years ago
|
||
fixed in changeset 322:544cc0e3be9c
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 8•13 years ago
|
||
Verified fixed in changeset 324:ba70538d70db
Status: RESOLVED → VERIFIED
Flags: in-testsuite+
Flags: flashplayer-triage+
Flags: flashplayer-qrb+
Flags: flashplayer-bug-
You need to log in
before you can comment on or make changes to this bug.
Description
•