You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by Jon Iles <jo...@bcs.org.uk> on 2015/11/10 14:48:02 UTC
Potential POI 3.13 performance regression
Hi,
I look after the MPXJ library which utilises POI. I started to update MPXJ
to use POI 3.13, however running the MPXJ unit tests seemed to show a
considerable performance regression from 3.12. I'm not aware that this has
been raised as an issue elsewhere, so I was going to dig into the problem a
little deeper myself to get an idea of what the cause might be.
I've been advised that one change which was made between 3.12 and 3.13 was
the move from OPOIFS to NPOIFS. I'm not familiar with the internals of POI,
and I'm wondering if it is possible to switch between these two
implementations in 3.13 to see if this helps to narrow down the cause of
the symptoms I'm seeing.
Thanks!
Jon
Re: Potential POI 3.13 performance regression
Posted by Nick Burch <ap...@gagravarr.org>.
On Tue, 10 Nov 2015, Jon Iles wrote:
> I've been advised that one change which was made between 3.12 and 3.13
> was the move from OPOIFS to NPOIFS. I'm not familiar with the internals
> of POI, and I'm wondering if it is possible to switch between these two
> implementations in 3.13 to see if this helps to narrow down the cause of
> the symptoms I'm seeing.
If you have code in 3.12 that called NPOIFSFileSystem, in 3.13 it'll still
be calling NPOIFS
If you had code in 3.12 that called the default POIFSFileSystem, then in
3.13 it switched from OPOIFS to NPOIFS
In 3.13, to explicitly request OPOIFS, change your call/constructor from
POIFSFileSystem to OPOIFSFileSystem
In theory, NPOIFS should be a bit faster than OPOIFS on streams, and quite
a bit faster/lower memory with files. That's the theory at least!
Nick
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org