Valhalla, startup, performance of interpreter, and vwithfield
Sergey Kuksenko
sergey.kuksenko at oracle.com
Fri May 10 23:07:38 UTC 2019
Hi All,
I did quick evaluation of startup and interpreter performance cost. I
have to take back my words that "vwithfield is major contributor to the
interpreter speed and merged(or fused) vwithfield could improve
interpreter performance". It was quite long time age when I was looking
into interpreter's performance last time. I have to say that a huge work
was done for interpreter since that time and now I don't consider
interpreter's performance as an issue. As for vwithfield, now cost of
the single vwithfield (in the interpreter) is approximately 200ns (on
2.2GHz freq). It is not a big nor a small value. If compare cost of
value creation vs cost similar classic java object creation (simple
writes) then single vwithfield costs ~7%-10% from the whole object
creation. So I am guessing that if you have a value with 10 fields (and
10 vwithfield operations) - you may double value creation cost, but it
will have minor impact for the whole execution.
Also I have to say that if look into startup for the first execution of
code - interpreter takes less than 1%. All others actions (classloading,
verification, etc..) take much more time. As for "time to performance" -
I didn't evaluate it yet. Interpreter's impact could be higher in that
case. At the same moment - working TieredCompilation will improve "time
to performance" much more than any interpreter tuning.
More information about the valhalla-dev
mailing list