aboutsummaryrefslogtreecommitdiff
path: root/Benchmarks/ParseBenchmarkTarget
diff options
context:
space:
mode:
authorRuben Beltran del Rio <jj@r.bdr.sh>2026-06-19 22:06:26 +0200
committerRuben Beltran del Rio <jj@r.bdr.sh>2026-06-19 22:15:42 +0200
commit647296d5a0799c2e9de05cd41b50bd161cdeac85 (patch)
tree61dd769ceadba7f139d2c299119e6b1b86d849ab /Benchmarks/ParseBenchmarkTarget
parentc796b061f2d1a1da02c92b71d518af6cef16d33a (diff)
Add NorgLexerHEAD1.1.0main
Diffstat (limited to 'Benchmarks/ParseBenchmarkTarget')
-rw-r--r--Benchmarks/ParseBenchmarkTarget/ParseBenchmarkTarget.swift15
1 files changed, 13 insertions, 2 deletions
diff --git a/Benchmarks/ParseBenchmarkTarget/ParseBenchmarkTarget.swift b/Benchmarks/ParseBenchmarkTarget/ParseBenchmarkTarget.swift
index 91e1d38..a5346f2 100644
--- a/Benchmarks/ParseBenchmarkTarget/ParseBenchmarkTarget.swift
+++ b/Benchmarks/ParseBenchmarkTarget/ParseBenchmarkTarget.swift
@@ -84,9 +84,20 @@ let benchmarks: @Sendable () -> Benchmark? = {
}
}
+ // Source tokenization for syntax highlighting.
+ Benchmark("lex example") { benchmark in
+ for _ in benchmark.scaledIterations {
+ blackHole(NorgLexer.tokenize(exampleSource))
+ }
+ }
+
+ Benchmark("lex huge") { benchmark in
+ for _ in benchmark.scaledIterations {
+ blackHole(NorgLexer.tokenize(hugeSource))
+ }
+ }
+
// Rewriting a single status marker — the write-back path for toggling a task.
- // Line 17 (zero-based) is the first task in huge.norg, so this exercises the
- // full split / replace / re-join path rather than bailing out early.
return Benchmark("update task status huge") { benchmark in
for _ in benchmark.scaledIterations {
blackHole(TaskScanner.updatedContent(hugeSource, line: 17, to: .done))