Details
-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.1
-
Fix Version/s: 3.1
-
Component/s: Core/Parsing
-
Labels:None
-
Environment:any
Description
When profiling for PDF-13, several red flags came up around how we where calculating the character advance metrics for layout in the OFont classes.
The first big offender was GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts() was being called for every new instance of a ofont/Font object. This system call is pretty expensive.
The next big offender was in related to a sequence of awt calls to get a glphys x and y advance values. I change the code to cache the metric information and only do the full calculation when we need to.
Two very simple optimizations that increased the parsing speed significantly for the OS release.
The first big offender was GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts() was being called for every new instance of a ofont/Font object. This system call is pretty expensive.
The next big offender was in related to a sequence of awt calls to get a glphys x and y advance values. I change the code to cache the metric information and only do the full calculation when we need to.
Two very simple optimizations that increased the parsing speed significantly for the OS release.
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Patrick Corless
created issue -
Patrick Corless
made changes -
Field | Original Value | New Value |
---|---|---|
Status | Open [ 1 ] | In Progress [ 3 ] |
Patrick Corless
made changes -
Status | In Progress [ 3 ] | Resolved [ 5 ] |
Fix Version/s | 3.1 [ 10181 ] | |
Resolution | Fixed [ 1 ] |
Patrick Corless
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Patrick Corless
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Patrick Corless
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Patrick Corless
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Patrick Corless
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |