Closed
Bug 698407
Opened 14 years ago
Closed 14 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•14 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•14 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•14 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•14 years ago
|
Summary: Performance degradation during verification → Performance degradation during string concatenation
| Reporter | ||
Comment 4•14 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•14 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•14 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•14 years ago
|
||
fixed in changeset 322:544cc0e3be9c
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
| Reporter | ||
Comment 8•14 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
•