[
https://issues.apache.org/jira/browse/ODFTOOLKIT-426?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nimarukan updated ODFTOOLKIT-426:
---------------------------------
Attachment: result-ods-xml-before-vs-after-patches_diff.zip
(update, was wrong file, sorry)
> 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
> Priority: Minor
> Labels: patch, performance
> 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.4#6332)