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/11/13 21:56:30 UTC

DO NOT REPLY [Bug 48195] New: Optimise evaluation of IF() and CHOOSE() - avoid eager evaluation of unused operands

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

           Summary: Optimise evaluation of IF() and CHOOSE() - avoid eager
                    evaluation of unused operands
           Product: POI
           Version: 3.1
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: HSSF
        AssignedTo: dev@poi.apache.org
        ReportedBy: josh@gildedtree.com


Sometimes referred to as "short-circuit" evaluation.  The formula Ptg arrays
are already marked up with Attr tokens (tAttrIf, tAttrChoose and tAttrSkip) to
help with this.  POI currently ignores these tokens, and by default does eager
evaluation on all operands.

-- 
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 48195] Optimise evaluation of IF() and CHOOSE() - avoid eager evaluation of unused operands

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #1 from Josh Micich <jo...@gildedtree.com> 2009-11-13 13:52:15 UTC ---
Applied in svn r835994

junit added 

This is a major performance improvement for spreadsheets that contain formulas
with many (possibly nested) IF() functions.

In terms of cpu/time optimisation, this enhancement is probably second only to
the formula result caching solution (from bug 45376).  In that bug the actual
formulas of the example appear to be well suited to "short-circuit-if"
optimisation, but result caching provided biggest gains (for that example and
in general).  This enhancement was also previously requested in bug 45508, but
the underlying issue there was a bug in OFFSET(), not performance.

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