Avatar for the fox-it user
fox-it
dissect.cstruct
BlogDocsChangelog

Rewrite lexer and parser

#146
Comparing
rewrite-parser
(
ef6c734
) with
main
(
29652dd
)
CodSpeed Performance Gauge
-37%
Improvement
3
Regression
1
Untouched
8
New
2

Benchmarks

14 total
test_benchmark_expression_evaluate
tests/test_benchmark.py
CodSpeed Performance Gauge
-37%
81.9 µs130.6 µs
test_benchmark_expression_parse
tests/test_benchmark.py
CodSpeed Performance Gauge
+78%
345.4 µs194.3 µs
test_benchmark_expression_parse_and_evaluate
tests/test_benchmark.py
CodSpeed Performance Gauge
+39%
391.6 µs282.4 µs
test_benchmark_lexer_and_parser
tests/test_benchmark.py
CodSpeed Performance Gauge
+31%
15.7 ms12 ms
test_benchmark_lexer
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A1.5 ms
test_benchmark_parser
tests/test_benchmark.py
CodSpeed Performance Gauge
N/A
N/A10.4 ms
test_benchmark_getattr_constants
tests/test_benchmark.py
CodSpeed Performance Gauge
0%
17 µs17 µs
test_benchmark_union[compiled]
tests/test_benchmark.py
CodSpeed Performance Gauge
0%
129 µs128.7 µs
test_benchmark_attribute_access
tests/test_benchmark.py
CodSpeed Performance Gauge
0%
15.3 µs15.3 µs
test_benchmark_getattr_types
tests/test_benchmark.py
CodSpeed Performance Gauge
0%
27 µs27.1 µs
test_benchmark_getattr_typedefs
tests/test_benchmark.py
CodSpeed Performance Gauge
0%
27.5 µs27.6 µs
test_benchmark_basic[compiled]
tests/test_benchmark.py
CodSpeed Performance Gauge
0%
81.2 µs81.4 µs
test_benchmark_union[interpreted]
tests/test_benchmark.py
CodSpeed Performance Gauge
-1%
121.5 µs122.9 µs
test_benchmark_basic[interpreted]
tests/test_benchmark.py
CodSpeed Performance Gauge
-1%
103 µs104.5 µs

Commits

Click on a commit to change the comparison range
Base
main
29652dd
-37.13%
Address review feedback
0d4ec4d
3 days ago
by Schamper
-0.15%
Merge `_read_while` and `_read_until`
81799a4
3 days ago
by Schamper
-0.02%
Different approach for conditional reading
7ebe2f7
3 days ago
by Schamper
-0.01%
Fix linter
ef6c734
3 days ago
by Schamper
© 2026 CodSpeed Technology
Home Terms Privacy Docs