You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by bu...@apache.org on 2010/04/06 05:49:06 UTC

DO NOT REPLY [Bug 49050] New: Inefficient concatenation of ContinueRecord contents in AbstractEscherHolderRecord

https://issues.apache.org/bugzilla/show_bug.cgi?id=49050

           Summary: Inefficient concatenation of ContinueRecord contents
                    in AbstractEscherHolderRecord
           Product: POI
           Version: 3.5-FINAL
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: HSSF
        AssignedTo: dev@poi.apache.org
        ReportedBy: trejkaz@trypticon.org


We encountered a spreadsheet with a lot of drawings in it, which resulted in a
DrawingGroupRecord which was so large it had multiple separate ContinueRecord
entries to make up all its data.

Subsequently, the gradual growing of the byte array as these were encountered
became a performance issue, with the file taking around 20 minutes to load.

I can't provide a sample file, but I will provide a patch which reduces this
case to around 3 seconds.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


DO NOT REPLY [Bug 49050] Inefficient concatenation of ContinueRecord contents in AbstractEscherHolderRecord

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=49050

--- Comment #1 from Trejkaz <tr...@trypticon.org> 2010-04-06 03:52:15 UTC ---
Created an attachment (id=25231)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=25231)
Proposed patch

Proposed patch fixes the issue for that specific record type.

I took a look at some other record types (e.g. DrawingRecord.)  A lot of them
assume a single ContinueRecord and indeed I haven't seen a case of them having
more than one.  But in the event that one day they do, this solution would work
there as well.

Another thing I noticed is that other record types explicitly keep the
ContinueRecord data separate and serialise it separately, whereas with
EscherDrawingRecord this was not the case.  This may not be a problem though, I
just thought it was worth noting.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


DO NOT REPLY [Bug 49050] [PATCH] Inefficient concatenation of ContinueRecord contents in AbstractEscherHolderRecord

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=49050

Nick Burch <ni...@alfresco.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #3 from Nick Burch <ni...@alfresco.com> 2010-05-05 12:46:41 EDT ---
Thanks for the patch, applied in r941379.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


DO NOT REPLY [Bug 49050] [PATCH] Inefficient concatenation of ContinueRecord contents in AbstractEscherHolderRecord

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=49050

Trejkaz <tr...@trypticon.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #25231|0                           |1
        is obsolete|                            |

--- Comment #2 from Trejkaz <tr...@trypticon.org> 2010-04-06 04:33:32 UTC ---
Created an attachment (id=25232)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=25232)
Proposed patch

Newer version after our own review.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


DO NOT REPLY [Bug 49050] [PATCH] Inefficient concatenation of ContinueRecord contents in AbstractEscherHolderRecord

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=49050

Trejkaz <tr...@trypticon.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |PatchAvailable
            Summary|Inefficient concatenation   |[PATCH] Inefficient
                   |of ContinueRecord contents  |concatenation of
                   |in                          |ContinueRecord contents in
                   |AbstractEscherHolderRecord  |AbstractEscherHolderRecord

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org