aboutsummaryrefslogtreecommitdiffstats
path: root/ccl.go
AgeCommit message (Collapse)AuthorFilesLines
2025-11-24Don't allow decoding bool as intRose Hogenson1-16/+2
2025-11-22Improve error handlingRose Hogenson1-9/+9
2025-11-18Holy shit fuzzing is so coolRose Hogenson1-1/+1
2025-10-30Small cleanupRose Hogenson1-6/+6
2025-10-30Set the lexer as a field on parserRose Hogenson1-3/+3
goos: linux goarch: amd64 pkg: roseh.moe/pkg/ccl cpu: AMD Ryzen 9 5900X 12-Core Processor │ baseline.txt │ new.txt │ │ sec/op │ sec/op vs base │ Parse-24 4.808µ ± 0% 4.739µ ± 0% -1.44% (p=0.000 n=20)
2025-10-30Use a classic struct iterator instead of iter.PullRose Hogenson1-10/+3
iter.Pull doesn't provide much value here. Actually the lexer is probably simpler this way, and iter.Pull also destroys stack traces for panics in the lexer. Ouch goos: linux goarch: amd64 pkg: roseh.moe/pkg/ccl cpu: AMD Ryzen 9 5900X 12-Core Processor │ baseline.txt │ itern't.txt │ │ sec/op │ sec/op vs base │ Lex-24 1.436µ ± 0% 1.320µ ± 0% -8.05% (p=0.000 n=20) Parse-24 7.846µ ± 0% 4.801µ ± 0% -38.82% (p=0.000 n=20) geomean 3.356µ 2.517µ -24.99%
2025-10-30Don't allocate an intermediate map[string]anyRose Hogenson1-200/+159
Not too bad goos: linux goarch: amd64 pkg: roseh.moe/pkg/ccl cpu: AMD Ryzen 9 5900X 12-Core Processor │ baseline.txt │ mapn't.txt │ │ sec/op │ sec/op vs base │ Parse-24 8.880µ ± 0% 7.885µ ± 0% -11.21% (p=0.000 n=20)
2025-10-30Allow all values to be pointersRose Hogenson1-9/+18
This solves the issue of whether the field was populated or not, at the expense of some horrible memory patterns. But on the plus side it doesn't require any extra API so we might as well allow it.
2025-10-30Remove the regexesRose Hogenson1-126/+145
Wow it doesn't look good for regex goos: linux goarch: amd64 pkg: roseh.moe/pkg/ccl cpu: AMD Ryzen 9 5900X 12-Core Processor │ baseline.txt │ regexn't.txt │ │ sec/op │ sec/op vs base │ Lex-24 8.625µ ± 1% 1.429µ ± 0% -83.43% (p=0.000 n=20) Parse-24 18.305µ ± 0% 8.856µ ± 0% -51.62% (p=0.000 n=20) geomean 12.57µ 3.557µ -71.69%
2025-10-29Fix repeated fields behaviorRose Hogenson1-21/+44
2025-10-28Rename to cclRose Hogenson1-5/+5
It stands for "cute configuration language," but idk if that's really important
2025-10-28Rename files to cclRose Hogenson1-0/+743