[OpenJDK 2D-Dev] [PATCH] 8220231: Cache HarfBuzz face object for same font's text layout calls

Eirik Bakke ebakke at ultorg.com
Wed Mar 13 02:09:16 UTC 2019


Thanks for running the benchmark! I suspect your patch removed some of the "startup" portion of the cost that was previously associated with a call to layoutGlyphVector or LineBreakMeasurer--that's a very good step in the right direction.

-- Eirik

From: Dmitry Batrak <dmitry.batrak at jetbrains.com>
Sent: Tuesday, March 12, 2019 4:36 AM
To: Eirik Bakke <ebakke at ultorg.com>
Cc: 2d-dev <2d-dev at openjdk.java.net>
Subject: Re: [OpenJDK 2D-Dev] [PATCH] 8220231: Cache HarfBuzz face object for same font's text layout calls

> I wonder if this patch might also fix or improve https://bugs.openjdk.java.net/browse/JDK-8202131 ? In case it's of any use, I have a ready-made performance test for this at https://gist.github.com/eirikbakke/81eec72221c9d7d8fc0b4afa9c54a163 .
The proposed change improves the result of your performance test significantly, but it's still about two times slower as compared to 1.8.0_202 results on my machine.

Best regards,
Dmitry Batrak

On Fri, Mar 8, 2019 at 10:54 PM Eirik Bakke <ebakke at ultorg.com<mailto:ebakke at ultorg.com>> wrote:
A random Java developer here passing by... great to see work on HarfBuzz performance! Thanks for your efforts to push JetBrains JDK improvements upstream.

I wonder if this patch might also fix or improve https://bugs.openjdk.java.net/browse/JDK-8202131 ? In case it's of any use, I have a ready-made performance test for this at https://gist.github.com/eirikbakke/81eec72221c9d7d8fc0b4afa9c54a163 .

-- Eirik


From: 2d-dev <2d-dev-bounces at openjdk.java.net<mailto:2d-dev-bounces at openjdk.java.net>> On Behalf Of Dmitry Batrak
Sent: Wednesday, March 6, 2019 7:15 AM
To: 2d-dev <2d-dev at openjdk.java.net<mailto:2d-dev at openjdk.java.net>>
Subject: [OpenJDK 2D-Dev] [PATCH] 8220231: Cache HarfBuzz face object for same font's text layout calls

Hello,

I'd like to submit a patch for JDK-8220231. I'm not a Committer, so I'll need someone to sponsor this change.

The proposed approach is used without known issues in OpenJDK-based JetBrains Runtime for almost three years now. I've mentioned it previously on this mailing list (https://mail.openjdk.java.net/pipermail/2d-dev/2017-August/008497.html).
The change has been refactored as compared to the version mentioned above (the logic has been moved to SunLayoutEngine), and includes the removal of font tables caching (JDK-8186317). The latter, I believe, becomes redundant with this fix.

Issue:  https://bugs.openjdk.java.net/browse/JDK-8220231
Webrev: http://cr.openjdk.java.net/~dbatrak/8220231/webrev.00/

Best regards,
Dmitry Batrak

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/2d-dev/attachments/20190313/da921bdf/attachment-0001.html>


More information about the 2d-dev mailing list