The GitHub Actions job "Java CI with Ant" on poi.git/bug-1506-array-formula-lookup has succeeded. Run started by GitHub user pjfanning (triggered by pjfanning).
Head commit for run: 3d8dd636f3aea839354802d62429ad10333c8e64 / PJ Fanning <[email protected]> XSSFSheet: index array formula ranges by row block (#1506) isCellInArrayFormulaContext, getFirstCellInArrayFormula and removeArrayFormula scanned every array formula in the sheet, and setArrayFormula did a linear contains() check. isFormulaCell() calls isCellInArrayFormulaContext, so getCellType() and friends cost O(array formulas) per cell, which is quadratic over a sheet with many array formulas. The ranges now live in ArrayFormulaRanges, which registers each range against the 64-row blocks it spans and checks only the ranges in the cell's block. Indexing per block rather than per cell keeps a large array formula from costing one map entry per covered cell. Ranges are copied on add so a caller mutating its CellRangeAddress afterwards can't corrupt the index. Co-Authored-By: Claude Opus 5.5 <[email protected]> Report URL: https://github.com/apache/poi/actions/runs/40927172748 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
