Skip to content

Conversation

antimatter15
Copy link
Contributor

Summary

Certain XLSX files have references to "TRUE" and "FALSE" that get ultimately passed over to the col-cache l2n method. When l2n is passed a string of 4 characters or more, it ends up regenerating the dictionary from scratch each time.

For a particular XLSX file I was working with, this change resulted in an overall 2x performance improvement.

Test plan

This change doesn't affect behavior, as l2n already throws when it encounters a string which is out of range. This change makes it throw earlier- before repopulating a 16384-length array each time.

Copy link
Member

@alubbe alubbe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch, thank you!

@alubbe alubbe merged commit 96cd219 into exceljs:master Oct 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants