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 2009/06/22 23:28:18 UTC

DO NOT REPLY [Bug 47403] New: HSSFRow should be backed by a Linked List

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

           Summary: HSSFRow should be backed by a Linked List
           Product: POI
           Version: 3.5-dev
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: HSSF
        AssignedTo: dev@poi.apache.org
        ReportedBy: joeslice@gmail.com


Created an attachment (id=23848)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=23848)
Cells is now backed by a linked list.

Currently HSSFRow uses an array that occasionally needs to be resized, and
inserting a column in the middle is not as efficient as it could be.

Please see the attached patch.

I've also added a method insertCell to make it more convenient to insert into
the middle of a row.

-- 
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 47403] HSSFRow should be backed by a Linked List

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


Joe Pollard <jo...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |joeslice@gmail.com




-- 
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 47403] HSSFRow should be backed by a Linked List

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


Joe Pollard <jo...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEEDINFO                    |RESOLVED
         Resolution|                            |WORKSFORME




--- Comment #2 from Joe Pollard <jo...@gmail.com>  2009-06-23 13:50:01 PST ---
This fix became no longer necessary after 46266 was patched.  Thanks for the
consideration, I'm marking this as resolved, as it's not really an issue
anymore.

-- 
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 47403] HSSFRow should be backed by a Linked List

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


Josh Micich <jo...@gildedtree.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |NEEDINFO




--- Comment #1 from Josh Micich <jo...@gildedtree.com>  2009-06-22 17:09:37 PST ---
Thanks for the patch.  Adding the method insertCell() to HSSFRow is a good
idea.

I'm not sure however that the proposed optimisation is appropriate, given that
it seems to be motivated by a method that isn't present yet.  I did a quick
performance test, running the existing 997 junits six times, with and without
the change.  My results show a degradation of about 5% (times in seconds):

poi trunk   (8.781, 9.375, 8.453, 8.453, 8.484, 8.453)
with change (9.078, 9.156, 9.125, 9.203, 9.047, 9.094)

Hopefully the POI unit tests are a fair representation of general POI usage
(they *should* be, because many were based on example code posted to bugzilla).
 I guess HSSFRow was written assuming that client code would generally use
random access to read the cells.


If you could re-do the patch just for HSSFRow.insertCell(), that is likely to
get applied.  However the optimisation needs more justification/tweaking.

-- 
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