[ 
https://issues.apache.org/jira/browse/PDFBOX-3131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andreas Lehmkühler resolved PDFBOX-3131.
----------------------------------------
    Resolution: Fixed

I'm done here. Some of the changes have an impact only on slow machines with a 
low amount of memory. Others speed up the font reading by a factor of 2 or 3.
- don't store intermediate data
- reduce the size of lists (use ranges instead of thousands of single values 
within a list)
- avoid resizing/rehashing operations of lists/maps
- don't copy/hold the data to be read multiple times
- skip unneeded data (AFM parser)
- don't read parts of a font if the font is omitted later
- optimized usage of buffered data when reading a certain range of bytes
- use arrays instead of lists if the number of entries is fixed



> Reduce amount of intermediate data and objects to reduce memory 
> footprint/complexity
> ------------------------------------------------------------------------------------
>
>                 Key: PDFBOX-3131
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-3131
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: FontBox
>    Affects Versions: 2.0.0
>            Reporter: Andreas Lehmkühler
>            Assignee: Andreas Lehmkühler
>             Fix For: 2.0.0
>
>
> The CFFParser holds a lot of intermediate data and produces a lot of objects 
> to do so. The idea is to reduce the amount of such objects and data to reduce 
> the memory footprint and the complexity.
> - the class IndexData holds intermediate data creates byte array everytime 
> when getBytes is called. I'm going to replace the class with a simple list to 
> reduce the memory footprint and the complexity
> - remove unused members of private classes
> - create a list of strings instead of a list of byte arrays which is used to 
> create those strings



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to