RFR (M) 8059461: Refactor IndexSet for better performance (preliminary)
Aleksey Shipilev
aleksey.shipilev at oracle.com
Tue Nov 11 19:20:11 UTC 2014
Thanks for review, Vladimir!
FTR, here's an updated webrev:
http://cr.openjdk.java.net/~shade/8059461/webrev.03/
On 11/06/2014 01:58 AM, Vladimir Kozlov wrote:
> Aleksey, can you compare average memory consumed by IndexSet before and
> after?
Any ideas how to estimate this reliably? Current code has some
instrumentation, but only about usage, not the concrete footprint. NMT
shows very flaky numbers for Nashorn/Octane:
$ grep "Compiler" before/*
Compiler (reserved=165KB, committed=165KB)
Compiler (reserved=174KB, committed=174KB)
Compiler (reserved=201KB, committed=201KB)
Compiler (reserved=189KB, committed=189KB)
Compiler (reserved=192KB, committed=192KB)
$ grep "Compiler" after/*
Compiler (reserved=162KB, committed=162KB)
Compiler (reserved=167KB, committed=167KB)
Compiler (reserved=198KB, committed=198KB)
Compiler (reserved=240KB, committed=240KB)
Compiler (reserved=188KB, committed=188KB)
$ grep "Arena" before/*
Arena Chunk (reserved=10952KB, committed=10952KB)
Arena Chunk (reserved=11433KB, committed=11433KB)
Arena Chunk (reserved=10506KB, committed=10506KB)
Arena Chunk (reserved=10825KB, committed=10825KB)
Arena Chunk (reserved=7179KB, committed=7179KB)
$ grep "Arena" after/*
Arena Chunk (reserved=19971KB, committed=19971KB)
Arena Chunk (reserved=20738KB, committed=20738KB)
Arena Chunk (reserved=21090KB, committed=21090KB)
Arena Chunk (reserved=22304KB, committed=22304KB)
Arena Chunk (reserved=14342KB, committed=14342KB)
It *looks* like a memory leak in Arenas, but it might be as well the
larger peak usage. Or, it might be NMT not telling me the whole story.
I am running Footprint tests from our performance regression suites now
-- they will show if there is something real.
> Why you need initialize_in_resource_arena()? by default BitMap() uses
> resource area:
>
> BitMap(idx_t size_in_bits, bool in_resource_area = true);
Yes, pruned that.
> Make lrg_union() PhaseConservativeCoalesce class's method.
Yes, did that.
Thanks,
-Aleksey.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20141111/683b865f/signature.asc>
More information about the hotspot-compiler-dev
mailing list