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/