<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ccl/ccl.go, branch v0.1.1</title>
<subtitle>A configuration language inspired by textproto</subtitle>
<id>https://code.roseh.moe/ccl/atom/ccl.go?h=v0.1.1</id>
<link rel='self' href='https://code.roseh.moe/ccl/atom/ccl.go?h=v0.1.1'/>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/'/>
<updated>2025-11-19T03:20:29Z</updated>
<entry>
<title>Holy shit fuzzing is so cool</title>
<updated>2025-11-19T03:20:29Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-11-19T03:20:29Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=933c9c9721bf20bc00dab85a75546a7573c31747'/>
<id>urn:sha1:933c9c9721bf20bc00dab85a75546a7573c31747</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Small cleanup</title>
<updated>2025-10-31T02:18:15Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-31T02:18:15Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=4ff064043759c3b25cca2555cc50efa48c855f8a'/>
<id>urn:sha1:4ff064043759c3b25cca2555cc50efa48c855f8a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Set the lexer as a field on parser</title>
<updated>2025-10-31T02:09:35Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-31T02:04:42Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=e4f0185460ab348d596877606b2d4a99b4c27ffb'/>
<id>urn:sha1:e4f0185460ab348d596877606b2d4a99b4c27ffb</id>
<content type='text'>
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)
</content>
</entry>
<entry>
<title>Use a classic struct iterator instead of iter.Pull</title>
<updated>2025-10-31T01:50:19Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-31T01:45:11Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=aa8a935f620a053cc9c3c65587b433f3e8d3a6e9'/>
<id>urn:sha1:aa8a935f620a053cc9c3c65587b433f3e8d3a6e9</id>
<content type='text'>
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%
</content>
</entry>
<entry>
<title>Don't allocate an intermediate map[string]any</title>
<updated>2025-10-31T01:34:25Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-31T01:29:34Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=74235daa0ae145c96b63c980e98c9c169f5c0007'/>
<id>urn:sha1:74235daa0ae145c96b63c980e98c9c169f5c0007</id>
<content type='text'>
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)
</content>
</entry>
<entry>
<title>Allow all values to be pointers</title>
<updated>2025-10-30T18:55:19Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-30T18:55:19Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=3888d15001e4f6ee8319874184b78c072fca577e'/>
<id>urn:sha1:3888d15001e4f6ee8319874184b78c072fca577e</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Remove the regexes</title>
<updated>2025-10-30T18:35:15Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-30T18:04:23Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=b1e37119da439b52a2c1f1aca4df2fdc80462f97'/>
<id>urn:sha1:b1e37119da439b52a2c1f1aca4df2fdc80462f97</id>
<content type='text'>
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%
</content>
</entry>
<entry>
<title>Fix repeated fields behavior</title>
<updated>2025-10-29T14:26:07Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-29T14:26:07Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=1954c6b847cd7115471cf222cee16a5e51d9c864'/>
<id>urn:sha1:1954c6b847cd7115471cf222cee16a5e51d9c864</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename to ccl</title>
<updated>2025-10-29T03:34:39Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-29T03:34:39Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=2ffdc8b3ded7173a01a91359b730064f3b4ab17c'/>
<id>urn:sha1:2ffdc8b3ded7173a01a91359b730064f3b4ab17c</id>
<content type='text'>
It stands for "cute configuration language," but idk if that's
really important
</content>
</entry>
<entry>
<title>Rename files to ccl</title>
<updated>2025-10-29T03:32:44Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-29T03:32:44Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=e084ac2b84fac3b5ae63de15080b863d31f5b2fc'/>
<id>urn:sha1:e084ac2b84fac3b5ae63de15080b863d31f5b2fc</id>
<content type='text'>
</content>
</entry>
</feed>
