Daniel Noll wrote:
[EMAIL PROTECTED] wrote:

lace this implementation with something more efficient? Right now I'm thinking that it would make sense to create a MappedByteBuffer over the whole file and then create windows over that buffer and then glue them back together in the right order... only reading the data when it's finally asked for.


This is under way presently. Note that it really wasn't possible to do this in JDK 1.22 (original POI target JVM when we started) with our use case (streamin->streamout). Now it is.


If RandomAccessFile were used in the first place, I wonder whether it would have worked on JDK 1.22 anyway. RawDataBlock even has a nice framework which would allow the blocks to be cached. :-)

Daniel


Its not exactly quite that simple....but okay. An early prototype version of POI (that lived on my drive) tried to use the JDK 1.22 RandomAccessFile...it was too ungodly slow to seek and rewind and stuff to even consider. Moreover check the "since" on MappedByteBuffer (1.4). Anyhow, it wasn't feasible to do this feasibly in Java at the time. We're working on it now. So you'll be able to read/write/modify xls files without loading them all in memory and shrink heap utilization by like a factor of 10...big deal :-) I figured out how to get GCC to dump me out the assembler and tune it by hand so I can link it back in. Now if only Java were open source :-P

-Andy
--
Andrew C. Oliver
SuperLink Software, Inc.

Java to Excel using POI
http://www.superlinksoftware.com/services/poi
Commercial support including features added/implemented, bugs fixed.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/

Reply via email to