HyperFormula 2.6.0: Performance improved by 60%

Beata Mówka HyperFormula / September 19, 2023

HyperFormula 2.6.0: Performance improved by 60%

One of the primary goals of this release was to enhance the performance of those implementations of HyperFormula, which involves a large amount of data cells. Think of especially big spreadsheet-like applications with a lot of data but only a few formulas.

Read more about this version on GitHub, or dive into the documentation.

In our testing, we achieved nearly 60% improvement in the execution time of a test case featuring 5 million text data cells and no formulas. The speed-up may not be that spectacular for spreadsheets with formulas, but most HyperFormula users can expect to benefit from these optimizations anyway.

To achieve this performance improvement, we’ve optimized date/time value detection and improved the efficiency of the operations performed on the dependency graph.

The exact description of the spreadsheet used for benchmarking can be found here.

Custom functions handle empty cell values

In response to your requests, we’ve exported the EmptyValue symbol as a public API. This allows your custom functions to be able to handle empty cell values, expanding the range of behaviors that can be implemented.

This improvement came to us courtesy of Brian Hung — thank you for supporting the HyperFormula project!

Release notes

What we added

  • Exported the EmptyValue symbol as a public API. This allows custom functions to handle empty cell values. #1232

What we changed

  • Improved the efficiency of the default date/time parsing methods. #876
  • Improved the efficiency of the operations on the dependency graph. #876

What we fixed

  • Fixed a bug where neighboring exported changes of an array formula were missing. #1291
  • Fixed a typo in the source code of the MatrixPlugin. #1306