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

Svante Schubert updated ODFTOOLKIT-426:
---------------------------------------
    Fix Version/s: 0.6.2-incubating

> PERFORMANCE: simple Document.getCopyStyleList improvements to reduce String 
> allocation, hashing, etc.
> -----------------------------------------------------------------------------------------------------
>
>                 Key: ODFTOOLKIT-426
>                 URL: https://issues.apache.org/jira/browse/ODFTOOLKIT-426
>             Project: ODF Toolkit
>          Issue Type: Improvement
>          Components: simple api
>         Environment: 0.8.2-incubating-SNAPSHOT, jdk1.8.0_77, win7
>            Reporter: Nimarukan
>            Assignee: Svante Schubert
>            Priority: Minor
>              Labels: patch, performance
>             Fix For: 0.6.2-incubating
>
>         Attachments: Issue-426-patches.zip, 
> result-ods-xml-before-vs-after-patches_diff.zip
>
>
> org.odftoolkit.simple
> Document.getCopyStyleList
> is a top hotspot in a (NetBeans) sampled profiling run of test_1 of
> https://issues.apache.org/jira/secure/attachment/12795379/odftoolkit-performance-test.zip
> When a sheet is copied from one document to another, simple.Document also 
> merges metadata such as styles.  For each style it iterates over every cell 
> with that style.  The current code can be improved by reusing constructed 
> strings (also reducing garbage collection), removing unnecessary hash table 
> lookups, etc.
> After these changes, Document.getCopyStyleList takes about 1/16th the 
> original time in the profiled run.
> (This is surprising.  Maybe it enables some optimizations that eliminate 
> String creation in an inner loop in common cases.)
> (The gain is not due to an error of omission: The template.ods source file 
> used in this performance test is a spreadsheet with styled cells.  The 
> differences between the ods xml files of the result spreadsheet produced 
> before these patches are applied, and the ods xml files of the result 
> spreadsheet produced after these patches are applied, are only in times and 
> in random strings appended to style names.  So these changes did not 
> significantly change the result spreadsheet.)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to