What's Changed
- ⚡ perf(normalize): skip default table ranges by @gaborbernat in #649
- ⚡ perf(detect): merge trigram profiles by @gaborbernat in #648
- ⚡ perf(idna): bypass ASCII table searches by @gaborbernat in #650
- ⚡ perf(transform): bound sort complexity by @gaborbernat in #652
- ⚡ perf(cssom): cache stylesheets by @gaborbernat in #653
- ⚡ perf(extract): search suffix tables by @gaborbernat in #651
- ⚡ perf(conformance): index obsolete names by @gaborbernat in #654
- ⚡ perf(clean): accelerate linkify by @gaborbernat in #655
- ⚡ perf(validate): index XSD globals by @gaborbernat in #656
- ⚡ perf(extract): trim date scan overhead by @gaborbernat in #658
- ⚡ perf(validate): index Relax NG definitions by @gaborbernat in #657
- ⚡ perf(parser): index tag atoms by @gaborbernat in #659
- ⚡ perf(css): skip impossible rule merges by @gaborbernat in #662
- ⚡ perf(encoding): binary-search labels by @gaborbernat in #661
- ⚡ perf(query): batch list filtering by @gaborbernat in #663
- ⚡ perf(css): bound substring search by @gaborbernat in #664
- ⚡ perf(xpath): bound substring search by @gaborbernat in #665
- ⚡ perf(charref): bucket entity names by @gaborbernat in #660
- ⚡ perf(dom): grow arena blocks by @gaborbernat in #667
- ⚡ perf(find): bound literal regex search by @gaborbernat in #666
- ⚡ perf(tables): grow grid rows by @gaborbernat in #668
- ⚡ perf(xml): grow name buffers by @gaborbernat in #669
- ⚡ perf(microdata): index itemref ids by @gaborbernat in #671
- ⚡ perf(xpath): hash id tokens by @gaborbernat in #672
- ⚡ perf(rewrite): skip new attr scans by @gaborbernat in #670
- ⚡ perf(normalize): avoid search branches by @gaborbernat in #673
- ⚡ perf(decode): avoid GB18030 branches by @gaborbernat in #674
- 👷 ci(codspeed): pin the malloc arena count by @gaborbernat in #677
- ⚡ perf(serialize): widen clean-run scan by @gaborbernat in #676
- ⚡ perf(idna): reject non-mark composition pairs by @gaborbernat in #680
- 👷 ci: pin PYTHONHASHSEED for coverage by @gaborbernat in #682
- 👷 ci(codspeed): keep base runs complete by @gaborbernat in #683
- ⚡ perf(idna): skip normalized hosts by @gaborbernat in #679
- ⚡ perf(parser): inline tag-atom verify compare by @gaborbernat in #684
- ⚡ perf(dom): restore text-walk inlining by @gaborbernat in #685
- 📝 docs: summarize perf gains and refresh the benchmark tables by @gaborbernat in #686
- ✨ feat(bench): compare the same work, and say what each figure is worth by @gaborbernat in #689
- ⚡ perf: move remaining per-item logic to C by @gaborbernat in #692
Full Changelog: 1.4.0...1.5.0