poi-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Woolsey <greg.wool...@gmail.com>
Subject Re: ConditionalFormattingEvaluator.getConditionalFormattingForCell: slow?
Date Wed, 27 Dec 2017 18:21:33 GMT
Could this be related to bug #61841 - Unnecessary long computation when
evaluating VLOOKUP on all column reference?

I fixed that earlier this month in trunk.  Wasn't a problem with
conditional formatting itself, but rather an optimization of certain
formula constructs, especially ones using full-column references like "B:C"
in range expressions.

Otherwise, the expected use is as defined in the example found in
ConditionalFormats.evaluateRules(Workbook, sheet) [1]

Yes a lot of things are checked for every cell, but most fail fast, and are
necessary for completeness.

If you have a specific example, I'd be interested to take a look,
especially if you already have profiling information on which methods are
taking too long or being called too often.


On Thu, Dec 21, 2017 at 6:05 PM Blake Watson <blake.watson@pnmac.com> wrote:

> I'm using conditionals in a new spreadsheet and finding it to be slow. I've
> tracked down the issue to getConditionalFormattingForCell, and I wonder if
> I'm using it right.
> As a frame of reference, the code in question takes about 0.4 seconds
> without the calls to gCFFC and about 4 seconds with it. There are 784 cells
> on the page that need to be rendered, so gCFFC is called that many times.
> ​Looking at the code, though, it seems like maybe there's a lot going on
> there that doesn't need to be repeated 784 times, if ​it were known that a
> series of cells on the same sheet were all going to ask the same question.
> But am I even using the right class in the right way?
> --
> *Blake Watson*
> Application Development Manager
> 5898 Condor Drive
> Moorpark, CA 93021
> (805) 330.4911 x7742 <(805)%20330-4911>
> blake.watson@pnmac.com
> www.PennyMacUSA.com <http://www.pennymacusa.com/>

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message