[Vm-dev] Code Compilation | Performance regression in recent VMs
Marcel Taeumel
marcel.taeumel at hpi.de
Fri Aug 20 10:21:53 UTC 2021
Hi all --
I found the culprit. The regression started with the introduction of FastCPrimitiveFlag in VMMaker.oscog-eem.2995. That new feature needs more adjustments, I suppose. :-)
My previous numbers were kind of wrong. I compared cog.spur against stack.spur. The latter being, in comparison, blazingly fast in #compileAll. Something is wrong with current cog.spur, at least on Windows (64-bit).
CommitHash: d8576b0 Plugins: 202108200011
stack.pur
Morph methodDict size. " 1493 "
[Morph compileAll] timeToRun " 1293 "
cog.spur
Morph methodDict size. " 1493 "
[Morph compileAll] timeToRun " 23018 "
Here are more tests with cog.spur:
CommitHash: 128d14994 Plugins: 202105050056
cog.spur -- [Morph compileAll] timeToRun " 1294 "
CommitHash: 9d4e82529 Plugins: 202107121800
cog.spur -- [Morph compileAll] timeToRun " 910 "
CommitHash: c0d1a5574 Plugins: 202107211710 -- VMMaker.oscog-eem.2991
cog.spur -- [Morph compileAll] timeToRun " 901 "
CommitHash: 118a02c69 Plugins: 202107232247
cog.spur -- [Morph compileAll] timeToRun " 984 "
(BUILD BROKEN -- VMMaker.oscog-eem.2995)
(VM CRASHES between VMMaker.oscog-eem.2996 and VMMaker.oscog-eem.3009)
CommitHash: 03c4ef31b Plugins: 202108010511 -- VMMaker.oscog-eem.3009
cog.spur -- [Morph compileAll] timeToRun " 20787 "
***
Note that #compileAll does not write into the .changes file.
Note that the last "good" commit hash is 118a02c69f3e4c8c29e8ba867a78bd39f9a53cb4 (still using VMMaker.oscog-eem.2991). I added the tag "last-before-FastCPrimitiveFlag" to this commit.
Now let's review and fix this. ^__^
Best,
Marcel
Am 19.08.2021 15:55:34 schrieb Marcel Taeumel <marcel.taeumel at hpi.de>:
[Morph compileAll] timeToRunWithoutGC
VM 202108160631 : 24607 milliseconds
VM 202108010511 : 1078 milliseconds
Best,
Marcel
Am 19.08.2021 15:40:03 schrieb Marcel Taeumel <marcel.taeumel at hpi.de>:
Hi all!
There is a serious performance regression in recent VM (202108160631) regarding code compilation. I could only narrow it down to CompiledMethod >> #methodClass:. Still investigating. The start-up is also very slow. Maybe GC-related?
This regression was not there in 202108010511.
Best,
Marcel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20210820/24be91ab/attachment.html>
More information about the Vm-dev
mailing list