[ 
https://issues.apache.org/jira/browse/PDFBOX-3432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15390010#comment-15390010
 ] 

John Hewson commented on PDFBOX-3432:
-------------------------------------

I think we're getting into micro-optimisation territory here, especially as 
embedded systems are not a focus for PDFBox. We're seeing bigger performance 
differences from the two different JVMs than the two different map 
implementations, which makes we worry that these changes would be more to make 
up for a lack of performance of a particular embedded JVM than general purpose 
improvements.

> Optimize CID to GlyphId mapping (TTF)
> -------------------------------------
>
>                 Key: PDFBOX-3432
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-3432
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: FontBox
>    Affects Versions: 2.0.1, 2.0.2, 2.0.3
>         Environment: Ubuntu 14.04.4 LTS
>            Reporter: Michael Doswald
>            Priority: Trivial
>              Labels: optimization, performance
>             Fix For: 2.0.3, 2.1.0
>
>         Attachments: PDFBOX-3432_Optimize_CID_to_GlyphId_mapping_rev1.patch, 
> fontbox-benchmark-CustomMap-VS-GSCollections.zip, 
> patch_for_CustomMap_VS_GSCollections_benchmark.patch, 
> pdfbox-performance-PDFBOX-3432.zip
>
>
> TTF fonts map code-points (Code IDs) to glyphs. These are mappings from int 
> to int. Because the JDK lacks map classes for primitive types, the code (e.g. 
> in CmapSubtable) currently uses Map<Integer,Integer> for those mappings. This 
> is inefficient in different ways:
> * Autoboxing/unboxing introduces a performance penalty
> * Boxing to Integer objects has a memory overhead
> * The JDK Map implementation has a big memory overhead for such simple objects
> For efficiency (execution time and memory consumption) I would propose to 
> introduce a simple IntIntMap implementation which works with primitive 
> integers.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to