RFR (S) 8227123: Assertion failure when setting SymbolTableSize larger than 2^17 (131,072)
Jiangli Zhou
jianglizhou at google.com
Tue Jul 23 15:45:27 UTC 2019
On Tue, Jul 23, 2019 at 8:35 AM <coleen.phillimore at oracle.com> wrote:
>
>
>
> On 7/23/19 11:25 AM, Jiangli Zhou wrote:
> > Hi Coleen,
> >
> > On Mon, Jul 22, 2019 at 12:51 PM <coleen.phillimore at oracle.com> wrote:
> >>
> >> Thanks Jiangli, and for the suggestion to increase the max size. I was
> >> waffling about removing the experimental option completely.
> > Would it be worth considering making SymbolTableSize a product flag?
> > There was a noticeable performance issue for a large application with
> > older JDK versions. It was found to be related to slow
> > SymbolTable::lookup due to too many collisions. Setting a large
> > initial symbol table size worked around the performance issue and the
> > improvement was significant. With newer JDK (> 12), user may still
> > prefer setting a large initial size to avoid any potential overhead
> > (avoid resizing) for large applications.
>
> I think the cost of resizing is low enough that it's not worth making it
> a product flag. I know it doesn't match StringTableSize in this way.
> Ideally, customers should not have knowledge that these things are
> hashtables and should not have controls for internal implementation
> decisions.
>
> With resizing, both of these tables should perform acceptably out of the
> box. Do we have any recent cases of customers needing to set this
> value to a large size, that may have prompted your bug report?
That was indeed the case, though it was with older JDK.
Best regards,
Jiangli
>
> Coleen
>
> >
> > Best regards,
> > Jiangli
> >
> >> Coleen
> >>
> >> On 7/22/19 3:40 PM, Jiangli Zhou wrote:
> >>> Looks good.
> >>>
> >>> Best regards,
> >>> Jiangli
> >>>
> >>> On Mon, Jul 22, 2019 at 11:46 AM <coleen.phillimore at oracle.com> wrote:
> >>>> Summary: Increase max size for SymbolTable and fix experimental option
> >>>> range. Make experimental options trueInDebug so they're tested by the
> >>>> command line option testing
> >>>>
> >>>> open webrev at http://cr.openjdk.java.net/~coleenp/2019/8227123.01/webrev
> >>>> bug link https://bugs.openjdk.java.net/browse/JDK-8227123
> >>>>
> >>>> Tested locally with default and -XX:+UseZGC since ZGC has a lot of
> >>>> experimental options. I didn't test with shenanodoah.
> >>>>
> >>>> I will test with hs-tier1-3 before checking in.
> >>>>
> >>>> Thanks,
> >>>> Coleen
>
More information about the hotspot-dev
mailing list