Skip to content

🧪 test(fuzz): cap the html5lib nesting oracle - #1627

Merged
gaborbernat merged 1 commit into
mainfrom
fix/fuzz-oracle-nesting-cap
Nov 5, 2026
Merged

gaborbernat merged 1 commit into
mainfrom
fix/fuzz-oracle-nesting-cap

Conversation

@gaborbernat

@gaborbernat gaborbernat commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

fuzz_encoding_bytes timed out on parse_deep_nesting.html. The html5lib oracle is quadratic in nesting depth (about 100 ms at 2500 nested divs), while turbohtml parses the input in 3 ms. The comparison is now skipped past 2500 open start tags.

Fuzz harness only, so the PR carries skip news.

html5lib scans its open-element stack on every insertion, so
encoding_observation timed out on parse_deep_nesting.html while
turbohtml parsed it in 3 ms. Skip the comparison past 2500 open tags,
where html5lib takes about 100 ms.
@gaborbernat gaborbernat added the skip news No user-facing changelog entry needed label Nov 5, 2026
@gaborbernat
gaborbernat enabled auto-merge (squash) November 5, 2026 00:33
@codspeed

codspeed Bot commented Nov 5, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 582 untouched benchmarks
⏩ 32 skipped benchmarks1


Comparing fix/fuzz-oracle-nesting-cap (dcbf7e0) with main (7daa2f5)

Open in CodSpeed

Footnotes

  1. 32 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@gaborbernat
gaborbernat disabled auto-merge November 5, 2026 00:58
@gaborbernat
gaborbernat merged commit e2a3dba into main Nov 5, 2026
56 checks passed
@gaborbernat
gaborbernat deleted the fix/fuzz-oracle-nesting-cap branch November 5, 2026 00:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip news No user-facing changelog entry needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant