<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ccl/ccl_test.go, branch v0.2.0</title>
<subtitle>A configuration language inspired by textproto</subtitle>
<id>https://code.roseh.moe/ccl/atom/ccl_test.go?h=v0.2.0</id>
<link rel='self' href='https://code.roseh.moe/ccl/atom/ccl_test.go?h=v0.2.0'/>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/'/>
<updated>2025-11-25T01:43:44Z</updated>
<entry>
<title>Disallow control characters in strings</title>
<updated>2025-11-25T01:43:44Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-11-25T01:43:44Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=456b784f4ff742bf604340e62c11da47b46b2950'/>
<id>urn:sha1:456b784f4ff742bf604340e62c11da47b46b2950</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Only allow "true" and "false" for bool</title>
<updated>2025-11-25T00:18:03Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-11-25T00:12:09Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=36acb0052bde87b82fb6c08d3a57680f8bea4e5f'/>
<id>urn:sha1:36acb0052bde87b82fb6c08d3a57680f8bea4e5f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't allow decoding bool as int</title>
<updated>2025-11-25T00:16:33Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-11-25T00:06:33Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=c61422f65bf1859da9336d764bb328b1882ec287'/>
<id>urn:sha1:c61422f65bf1859da9336d764bb328b1882ec287</id>
<content type='text'>
</content>
</entry>
<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>Add a helper function for readability</title>
<updated>2025-10-31T02:45:39Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-31T02:45:39Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=b25fc1dbacf79d795f80ae07a5785877c2b0fdb0'/>
<id>urn:sha1:b25fc1dbacf79d795f80ae07a5785877c2b0fdb0</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>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>Add benchmark</title>
<updated>2025-10-30T18:08:19Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-30T18:08:19Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=ed45a0a8db7dc4d3a0dcdab02c103e2be4dd8b9c'/>
<id>urn:sha1:ed45a0a8db7dc4d3a0dcdab02c103e2be4dd8b9c</id>
<content type='text'>
</content>
</entry>
</feed>
