RFR 8228675: Resolve.findMethod doesn't cache interface type calculation
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Wed Sep 4 14:18:48 UTC 2019
I didn't realize you were waiting on me to produce a patch; I'm afraid
at the moment I don't have many cycles to look into this.
Maurizio
On 04/09/2019 13:05, Ron Shapiro wrote:
> Friendly ping. This is really hurting some of our builds. Maurizio,
> are you able to prepare a patch for us to look at?
>
> On Tue, Aug 13, 2019 at 8:12 AM Ron Shapiro <ronshapiro at google.com
> <mailto:ronshapiro at google.com>> wrote:
>
> Aren't types recreated across rounds if there are any transitive
> error types? That was at least my assumption.
>
> On Mon, Aug 12, 2019 at 5:50 PM Jan Lahoda <jan.lahoda at oracle.com
> <mailto:jan.lahoda at oracle.com>> wrote:
>
> I wonder if this will work with annotation processors? (As
> these may
> create new interfaces into the hierarchy.)
>
> Jan
>
> On 07. 08. 19 12:25, Ron Shapiro wrote:
> > Made the change for a WeakHashMap:
> > http://cr.openjdk.java.net/~ronsh/8228675/webrev.01/.
> >
> > Perhaps it would make better sense for this to be a field on
> ClassType?
> > That would avoid the need for managing a cache with weak keys.
> >
> > Do you have any guidance on how you approach tradeoffs in
> memory vs. speed?
> >
> > On Mon, Aug 5, 2019 at 7:25 PM Vicente Romero
> <vicente.romero at oracle.com <mailto:vicente.romero at oracle.com>
> > <mailto:vicente.romero at oracle.com
> <mailto:vicente.romero at oracle.com>>> wrote:
> >
> > not sure if we should add yet another cache to javac but
> in any case
> > it should be implemented with a: WeakHashMap,
> >
> > Thanks,
> > Vicente
> >
> > On 8/5/19 10:32 AM, Ron Shapiro wrote:
> >> Fair question.
> >>
> >> github.com/google/dagger <http://github.com/google/dagger>
> <http://github.com/google/dagger>
> >> generates implementations of interfaces that implement a
> >> dependency injection graph. Sometimes, though not
> always, these
> >> interfaces have dozens if not hundreds of
> (super)interfaces which
> >> allow for builds to be sharded: each subsection of the
> build
> >> refers to the superinterface and then at the root of
> the build
> >> there is a union of them all. Naturally, this means
> this must be
> >> rebuilt on most/all changes to any subproject of the build.
> >>
> >> בתאריך יום ב׳, 5 באוג׳ 2019, 17:05, מאת Vicente Romero
> >> <vicente.romero at oracle.com
> <mailto:vicente.romero at oracle.com>
> <mailto:vicente.romero at oracle.com
> <mailto:vicente.romero at oracle.com>>>:
> >>
> >> Hi Ron,
> >>
> >> Just out of curiosity, what is the context in which
> this issue
> >> arises? Naturally consuming more memory we can
> speed up javac
> >> but this can lead to other problems too.
> >>
> >> Thanks,
> >> Vicente
> >>
> >> On 8/5/19 8:24 AM, Ron Shapiro wrote:
> >>> Friendly ping
> >>>
> >>> בתאריך שבת, 27 ביולי 2019, 0:05, מאת Ron Shapiro
> >>> <ronshapiro at google.com
> <mailto:ronshapiro at google.com> <mailto:ronshapiro at google.com
> <mailto:ronshapiro at google.com>>>:
> >>>
> >>> Hi,
> >>>
> >>> Please review this change to speed up
> Resolve.findMethod
> >>> for large classes that have large numbers of
> >>> (super)interfaces
> >>>
> >>> webrev:
> http://cr.openjdk.java.net/~ronsh/8228675/webrev.00/
> >>> bug:
> https://bugs.openjdk.java.net/browse/JDK-8228675
> >>>
> >>> Thanks,
> >>> Ron
> >>>
> >>
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20190904/8404b0eb/attachment-0001.html>
More information about the compiler-dev
mailing list