Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.0.0
-
Patch
Description
If several threads convert several pdf to png (one thread access to a single document at a time) they are a contention on a lock in GlythTable. Jstack shows that all threads are in state blocked on the synchronized block in the getGlyph method. The lock is necessary, it's ok, but degrades performance.
This patch cache glyphs already read.
With the patch PDFBOX-3080, the follow benchmark compare 1000 pdf conversions with 1, 8, and 50 threads.
Simulation | PDF 2.0-SNAPSHOT | With this patch + PDFBOX3080 |
---|---|---|
1000 conversions / 1 thread | 120 s | 71 s |
1000 conversions / 8 threads | 76 s | 28 s |
1000 conversions / 50 threads | 81 s | 33 s |
Attachments
Attachments
Issue Links
- breaks
-
PDFBOX-3102 getGlyphs returns empty array now
- Closed
- is related to
-
PDFBOX-3089 Investigate why glyph path caching does not always cache glyph accesses
- Closed