parseFold needs early termination support for large XML files. Currently parseFold(xml, tag, init, f) must scan the entire XML even when the fold function stops accumulating. For XLSX files with 50K+ rows (7MB+ XML), this means scanning 7MB of XML to extract 5K rows. Request: add parseFoldLimit(xml, tag, maxElements, init, f) that stops scanning after maxElements matches, or add a sentinel return value from f that signals 'stop scanning'. This would dramatically improve large XLSX performance (currently 5.5s for a file where we only need 5K of 50K rows).
Reported by: cli via ailang messages
parseFold needs early termination support for large XML files. Currently parseFold(xml, tag, init, f) must scan the entire XML even when the fold function stops accumulating. For XLSX files with 50K+ rows (7MB+ XML), this means scanning 7MB of XML to extract 5K rows. Request: add parseFoldLimit(xml, tag, maxElements, init, f) that stops scanning after maxElements matches, or add a sentinel return value from f that signals 'stop scanning'. This would dramatically improve large XLSX performance (currently 5.5s for a file where we only need 5K of 50K rows).
Reported by: cli via ailang messages