RFR: 6983726: Reimplement MethodHandleProxies.asInterfaceInstance [v11]

John R Rose jrose at openjdk.org
Tue May 2 19:26:20 UTC 2023


On Mon, 1 May 2023 22:23:11 GMT, Chen Liang <liach at openjdk.org> wrote:

> It had an invocation performance of 2ns/op as opposed to Proxy's 6ns/op, but the condy implementation has 0.41ns/op.

Good, so let’s take the win relative to 6ns/op metric.

The condy implementation devotes a whole class to a single MH, so it can go faster.  But if you use more than exactly one MH, the extra classes will pollute the same type profiles that provide 0.41ns/op, if you use more than one MH.  I think that’s too brittle a performance curve.  Let’s be more economical with our spinning of classes.  That should provide a smoother performance curve (scaling towards use cases with more receivers) and (with fewer, more regular classes, with no class-data) be more friendly to Leyden as well.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/13197#issuecomment-1532025066


More information about the core-libs-dev mailing list