Jarreorder and classlists

Mike Duigou mike.duigou at oracle.com
Wed Oct 30 23:18:52 UTC 2013


Hi Erik;

It doesn't look like your updated classlists were pushed and I note that 'HashMap$Entry' has been renamed to 'HashMap$Node'. Are there plans to update the classlists before Java 8 is finalized? This does seem like something where "mostly right" could be worse than having no list at all.

Mike


On Oct 1 2013, at 03:30 , Erik Joelsson <erik.joelsson at oracle.com> wrote:

> Hello again,
> 
> I have now regenerated the classlists @b107 and run new comparisons. To me it looks like the differences are essentially non existant between new and old classlists and in the previous comparison we saw no difference between random order and old classlists.
> 
> It's very possible that it has an impact on cold starts, as Staffan suggests, but we have no way (that I know of) of measuring that, and is that really a valid requirement if we can't measure it?
> 
> /Erik
> 
> On 2013-08-20 03:54, David Holmes wrote:
>> Hi Erik,
>> 
>> Adding in hotspot-runtime-dev.
>> 
>> There is a lot of history here and I'm not sure who remembers all the details - if anyone. There are existing open bugs to re-assess the utility of the jarreorder (7032729) and to update the classlists (8005688).
>> 
>> David
>> ------
>> 
>> On 20/08/2013 1:17 AM, Erik Joelsson wrote:
>>> Hello,
>>> 
>>> I wonder if anyone knows more about the jarreorder tool and why we use it?
>>> 
>>> As I understand it, we have precalculated classlists for each platform
>>> (most likely outdated) and the tool is used to make sure those classes
>>> end up in a specific order, last in rt.jar. I assume this is some kind
>>> of startup time optimization.
>>> 
>>> I got some help from Claes in the performance team and did a quick run
>>> of a startup and footprint benchmark, comparing a build with the rt.jar
>>> reordered as normal and one where I simply turned off this feature and
>>> let the files end up in the default order. Our preliminary findings show
>>> that any difference between the two is negligible. Before we declare it
>>> useless, we might need to test with freshly generated classlists? Does
>>> anyone know how to generate them? Is there some other benefit of this
>>> that I might have missed?
>>> 
>>> I would like to propose removing jarreorder to simplify the build. This
>>> would also enable faster incremental builds of the images target, by not
>>> having to rebuild the whole rt.jar every time.
>>> 
>>> /Erik
> 




More information about the build-dev mailing list