|
Authored by: indyandy on Sunday, May 20 2012 @ 07:20 AM EDT |
<b>From:</b> Andy McFadden<br>
<b>To:</b>
Jason Parks; android-dalvik@google.com<br>
<b>Cc:</b>
<br>
<b>Bcc:</b> <br>
<b>Sent:</b>
5/2/2007 6:16 PM<br>
<br>
<b>Subject:</b>
[dalvik] Optimized stuff<br>
<br>
<br>
I have some
early results on the field/method optimization stuff. I<br>
added it
to the "results3" tab of the writely "Android Java
VM<br>
Performance" doc. (The URL in my browser is 120
characters long, and<br>
I'm not sure that'll work for anyone
else.)<br>
<br>
The optimizations convert constant pool
indices in instance field<br>
get/put and virtual method calls to byte
offsets and vtable indices,<br>
respectively. They allow us to skip a
couple of lookups.<br>
<br>
Short version: the stuff that
you'd expect to get faster got faster,<br>
by about 20%. Most tests
remained the same, which wasn't the case on<br>
all runs (e.g. AddTest
was hanging around 2000 rather than 1887 in<br>
some earlier
trials).<br>
<br>
The Ackermann and FibonacciSiow tests got
13% and 7% slower. These<br>
use private methods and so use
"direct" rather than virtual calls, so<br>
no
improvement was expected. The other empty non-virtual method
tests<br>
also got slower, but the implementations of those didn't
change, so<br>
this is probably due to cache unhappiness. (I made one
tweak that I<br>
need to go back and stare at ARM code
for.)<br>
<br>
Some of the recent work on the Java libs
showed up in the tests. The<br>
comparisons to Dalvik @19447 are
meaningless on a few tests,
e.g.<br>
HashMapContainsKey.<br>
<br>
-Andy<br&
gt;
<br>
Android-Dalvik mailing
list<br>
Android-Dalvik@google.com<br>
https://mailman.corp.
google.com/mailman/listinfo/android-dalvik<br>
<br>
[ Reply to This | Parent | # ]
|
|
|
|
|