{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":647046451,"defaultBranch":"main","name":"zig-xml","ownerLogin":"ianprime0509","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-05-30T00:25:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5870990?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1711161223.0","currentOid":""},"activityList":{"items":[{"before":"6cad40bb3a2770debc3a06006fefba40c690dd62","after":"4bd71e128a35d321a00f9959990d11faf909b14a","ref":"refs/heads/main","pushedAt":"2024-05-22T01:20:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"build: update to latest Zig (#34)\n\nUpdate build.zig to work with Zig 0.13.0-dev.242+6635360db.","shortMessageHtmlLink":"build: update to latest Zig (#34)"}},{"before":"91aaa63710b543b39bc39ce2149e6b9f1a8f9a82","after":"6cad40bb3a2770debc3a06006fefba40c690dd62","ref":"refs/heads/main","pushedAt":"2024-05-09T00:12:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"feat: compatibility with Zig master","shortMessageHtmlLink":"feat: compatibility with Zig master"}},{"before":"070f84bdc23c4a9035be2c983cb49ffaad730520","after":"91aaa63710b543b39bc39ce2149e6b9f1a8f9a82","ref":"refs/heads/main","pushedAt":"2024-04-23T02:35:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"ci: test with Zig 0.12.0","shortMessageHtmlLink":"ci: test with Zig 0.12.0"}},{"before":"034b060e339fbe9f7f623b01405954828ac27a34","after":"070f84bdc23c4a9035be2c983cb49ffaad730520","ref":"refs/heads/main","pushedAt":"2024-03-31T04:07:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"chore: remove redundant cDefine\n\nThis is no longer needed with my zig-libxml2 project.","shortMessageHtmlLink":"chore: remove redundant cDefine"}},{"before":"cc5e18e2456ec8a72393fed46f6d4cb9c7500e0b","after":"034b060e339fbe9f7f623b01405954828ac27a34","ref":"refs/heads/main","pushedAt":"2024-03-31T04:03:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"build(bench): update to latest Zig master","shortMessageHtmlLink":"build(bench): update to latest Zig master"}},{"before":"71689ce51f7eb3c4f4143ba680ef3631bc708f3b","after":null,"ref":"refs/heads/update-zig","pushedAt":"2024-03-23T02:33:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"}},{"before":"5d995ef95bb5796f38bf16c0d4750cba06d86549","after":"cc5e18e2456ec8a72393fed46f6d4cb9c7500e0b","ref":"refs/heads/main","pushedAt":"2024-03-23T02:33:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"docs: fix module name\n\nThe new Autodoc doesn't work properly unless the module name matches the\nroot source file name.","shortMessageHtmlLink":"docs: fix module name"}},{"before":null,"after":"71689ce51f7eb3c4f4143ba680ef3631bc708f3b","ref":"refs/heads/update-zig","pushedAt":"2024-03-23T02:32:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"docs: fix module name\n\nThe new Autodoc doesn't work properly unless the module name matches the\nroot source file name.","shortMessageHtmlLink":"docs: fix module name"}},{"before":"733b7a8da2301f2f5dcf64009f35d53fb33ffb3a","after":null,"ref":"refs/heads/update-zig","pushedAt":"2024-01-05T03:02:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"}},{"before":"2b5bbd4f545124be9d17f9f8667c2f6766f1d8fb","after":"5d995ef95bb5796f38bf16c0d4750cba06d86549","ref":"refs/heads/main","pushedAt":"2024-01-05T03:02:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"build: update for Zig master (#33)","shortMessageHtmlLink":"build: update for Zig master (#33)"}},{"before":"7013333d2691902517fe9145d4b977cb2a937df4","after":"733b7a8da2301f2f5dcf64009f35d53fb33ffb3a","ref":"refs/heads/update-zig","pushedAt":"2024-01-05T02:59:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"build: update for Zig master","shortMessageHtmlLink":"build: update for Zig master"}},{"before":"44a8aba568de588b10652389be61457d01ee2d8a","after":"7013333d2691902517fe9145d4b977cb2a937df4","ref":"refs/heads/update-zig","pushedAt":"2024-01-04T02:21:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"build: update for Zig master","shortMessageHtmlLink":"build: update for Zig master"}},{"before":null,"after":"44a8aba568de588b10652389be61457d01ee2d8a","ref":"refs/heads/update-zig","pushedAt":"2024-01-03T03:25:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"build: update for Zig master","shortMessageHtmlLink":"build: update for Zig master"}},{"before":"6cd464bb4224eeb3601ad6d88a82e1c7a85d0acb","after":"2b5bbd4f545124be9d17f9f8667c2f6766f1d8fb","ref":"refs/heads/main","pushedAt":"2023-12-02T21:10:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"chore(bench): update zig-build-libxml2 commit","shortMessageHtmlLink":"chore(bench): update zig-build-libxml2 commit"}},{"before":"4224d41a7c0ac496c512b772632e0dfc0eddea1e","after":"6cd464bb4224eeb3601ad6d88a82e1c7a85d0acb","ref":"refs/heads/main","pushedAt":"2023-11-27T15:14:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"refactor: remove hard-coded MXML config header\n\nI just learned about `addConfigHeader` recently.","shortMessageHtmlLink":"refactor: remove hard-coded MXML config header"}},{"before":"33949fddd09dbfafb60ab809659424613985fabc","after":"4224d41a7c0ac496c512b772632e0dfc0eddea1e","ref":"refs/heads/main","pushedAt":"2023-11-24T18:05:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"docs(README): fix license section","shortMessageHtmlLink":"docs(README): fix license section"}},{"before":null,"after":"0b6b9809e437837c4f2a3487476a87c50141a752","ref":"refs/heads/token-reader-allocator","pushedAt":"2023-11-24T04:37:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"feat: allow TokenReader to allocate\n\nCloses #30\n\nThis currently provides no benefit in itself based on my benchmarks, but\nopens the door to further performance opportunities for `Reader`.\n\nSince `TokenReader`'s buffer is now allowed to grow, it is no longer\nnecessary for the decoder interface to handle overflowing the encoding\nbuffer. As such, the parameter type of the buffer has been changed to\nreflect the exact necessary size, and `error.Overflow` is no longer\nreturned.\n\nBREAKING CHANGE: `TokenReader` now requires an allocator, and\n`error.Overflow` is no longer returned from any reader function.","shortMessageHtmlLink":"feat: allow TokenReader to allocate"}},{"before":"58e49daf394ce0218ef6ae01b1a0c7a1b1faa751","after":"33949fddd09dbfafb60ab809659424613985fabc","ref":"refs/heads/main","pushedAt":"2023-11-23T21:54:24.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"chore: relicense to 0BSD","shortMessageHtmlLink":"chore: relicense to 0BSD"}},{"before":"aff2f6b5fac10398836971249fcfa30904b76a4f","after":"58e49daf394ce0218ef6ae01b1a0c7a1b1faa751","ref":"refs/heads/main","pushedAt":"2023-11-22T16:42:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"chore: fix unused var in scan example","shortMessageHtmlLink":"chore: fix unused var in scan example"}},{"before":"e593568299f3cb64142fd1e6c42e62acca652b57","after":"aff2f6b5fac10398836971249fcfa30904b76a4f","ref":"refs/heads/main","pushedAt":"2023-11-22T16:39:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"fix: remove obsolete decoder parameter\n\nI also enabled some tests unblocked by the merge of an upstream Zig PR\nsome time ago.","shortMessageHtmlLink":"fix: remove obsolete decoder parameter"}},{"before":"f4bfcbe1ce24c3b520a7471e4c9425e133fb652b","after":"e593568299f3cb64142fd1e6c42e62acca652b57","ref":"refs/heads/main","pushedAt":"2023-11-19T20:39:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"chore: replace unnecessary vars\n\nThis restores compatibility with the latest Zig master.","shortMessageHtmlLink":"chore: replace unnecessary vars"}},{"before":"2e44089b9d43fa2228aa834ae4d58d2ee23134fa","after":"f4bfcbe1ce24c3b520a7471e4c9425e133fb652b","ref":"refs/heads/main","pushedAt":"2023-11-04T00:33:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"endian naming change in zig-0.12.0-dev.1388 (#28)","shortMessageHtmlLink":"endian naming change in zig-0.12.0-dev.1388 (#28)"}},{"before":"b242851a0cd7dbe091584df40a1e2d1ac91512da","after":"2e44089b9d43fa2228aa834ae4d58d2ee23134fa","ref":"refs/heads/main","pushedAt":"2023-10-16T02:46:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"fix: `QNameNotAllowed` is namespaces-only\n\nFollow-up to #24","shortMessageHtmlLink":"fix: QNameNotAllowed is namespaces-only"}},{"before":"fd84548d48ffd35dc8816e331e486e6f9c986edd","after":"b242851a0cd7dbe091584df40a1e2d1ac91512da","ref":"refs/heads/main","pushedAt":"2023-10-16T02:35:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"fix(fuzz): fix fuzz runner","shortMessageHtmlLink":"fix(fuzz): fix fuzz runner"}},{"before":"75998bb9613597e5c30c1852ff23ce00e2f58869","after":null,"ref":"refs/heads/perf/token-reader","pushedAt":"2023-10-16T02:11:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"}},{"before":"56c4de2ca926292f1fffc784834062797367e712","after":"fd84548d48ffd35dc8816e331e486e6f9c986edd","ref":"refs/heads/main","pushedAt":"2023-10-16T02:11:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"perf: apply memory optimizations to `TokenReader` (#27)\n\nThese optimizations are analogous to those made in #26 for `Scanner`.\r\nThe performance improvement for `Reader` is less significant, but still\r\nnoticeable:\r\n\r\n```\r\nBenchmark 1 (48 runs): zig-out/bin-old/reader Gtk-4.0.gir\r\n measurement mean ± σ min … max outliers delta\r\n wall_time 106ms ± 1.72ms 104ms … 110ms 0 ( 0%) 0%\r\n peak_rss 7.28MB ± 80.9KB 7.08MB … 7.34MB 0 ( 0%) 0%\r\n cpu_cycles 420M ± 6.94M 413M … 438M 0 ( 0%) 0%\r\n instructions 1.13G ± 19.3 1.13G … 1.13G 0 ( 0%) 0%\r\n cache_references 561K ± 72.6K 477K … 878K 2 ( 4%) 0%\r\n cache_misses 12.7K ± 1.31K 11.3K … 18.3K 3 ( 6%) 0%\r\n branch_misses 1.07M ± 5.21K 1.07M … 1.09M 0 ( 0%) 0%\r\nBenchmark 2 (50 runs): zig-out/bin/reader Gtk-4.0.gir\r\n measurement mean ± σ min … max outliers delta\r\n wall_time 101ms ± 1.08ms 98.9ms … 103ms 1 ( 2%) ⚡- 4.9% ± 0.5%\r\n peak_rss 7.29MB ± 63.6KB 7.21MB … 7.34MB 0 ( 0%) + 0.2% ± 0.4%\r\n cpu_cycles 398M ± 4.24M 393M … 410M 1 ( 2%) ⚡- 5.2% ± 0.5%\r\n instructions 1.11G ± 20.8 1.11G … 1.11G 0 ( 0%) ⚡- 1.5% ± 0.0%\r\n cache_references 404K ± 244K 314K … 1.82M 4 ( 8%) ⚡- 28.0% ± 13.0%\r\n cache_misses 12.0K ± 1.11K 10.1K … 15.3K 0 ( 0%) ⚡- 5.6% ± 3.8%\r\n branch_misses 1.10M ± 2.89K 1.10M … 1.12M 4 ( 8%) 💩+ 2.8% ± 0.2%\r\n```","shortMessageHtmlLink":"perf: apply memory optimizations to TokenReader (#27)"}},{"before":null,"after":"75998bb9613597e5c30c1852ff23ce00e2f58869","ref":"refs/heads/perf/token-reader","pushedAt":"2023-10-16T02:10:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"perf: apply memory optimizations to `TokenReader`\n\nThese optimizations are analogous to those made in #26 for `Scanner`.\nThe performance improvement for `Reader` is less significant, but still\nnoticeable:\n\n```\nBenchmark 1 (48 runs): zig-out/bin-old/reader Gtk-4.0.gir\n measurement mean ± σ min … max outliers delta\n wall_time 106ms ± 1.72ms 104ms … 110ms 0 ( 0%) 0%\n peak_rss 7.28MB ± 80.9KB 7.08MB … 7.34MB 0 ( 0%) 0%\n cpu_cycles 420M ± 6.94M 413M … 438M 0 ( 0%) 0%\n instructions 1.13G ± 19.3 1.13G … 1.13G 0 ( 0%) 0%\n cache_references 561K ± 72.6K 477K … 878K 2 ( 4%) 0%\n cache_misses 12.7K ± 1.31K 11.3K … 18.3K 3 ( 6%) 0%\n branch_misses 1.07M ± 5.21K 1.07M … 1.09M 0 ( 0%) 0%\nBenchmark 2 (50 runs): zig-out/bin/reader Gtk-4.0.gir\n measurement mean ± σ min … max outliers delta\n wall_time 101ms ± 1.08ms 98.9ms … 103ms 1 ( 2%) ⚡- 4.9% ± 0.5%\n peak_rss 7.29MB ± 63.6KB 7.21MB … 7.34MB 0 ( 0%) + 0.2% ± 0.4%\n cpu_cycles 398M ± 4.24M 393M … 410M 1 ( 2%) ⚡- 5.2% ± 0.5%\n instructions 1.11G ± 20.8 1.11G … 1.11G 0 ( 0%) ⚡- 1.5% ± 0.0%\n cache_references 404K ± 244K 314K … 1.82M 4 ( 8%) ⚡- 28.0% ± 13.0%\n cache_misses 12.0K ± 1.11K 10.1K … 15.3K 0 ( 0%) ⚡- 5.6% ± 3.8%\n branch_misses 1.10M ± 2.89K 1.10M … 1.12M 4 ( 8%) 💩+ 2.8% ± 0.2%\n```","shortMessageHtmlLink":"perf: apply memory optimizations to TokenReader"}},{"before":"99e05a76305715eb6499d1caa0481877811306f4","after":null,"ref":"refs/heads/perf/scanner","pushedAt":"2023-10-15T22:36:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"}},{"before":"49b7fc1403040dcbf75c68c68498c94ad0e9eb35","after":"56c4de2ca926292f1fffc784834062797367e712","ref":"refs/heads/main","pushedAt":"2023-10-15T22:36:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"perf: move data out of `Scanner.Token` (#26)\n\nBy storing the token data in a separate `Scanner` field and having\r\n`Token` be merely the token type, we can avoid a decent amount of\r\ncopying when tokens are passed around. This leads to considerable\r\nspeedups for the `TokenReader` and `Reader` benchmarks (the `Scanner`\r\nbenchmark is slightly slower, but that probably has more to do with how\r\nthat particular benchmark is written, since the token data was\r\npreviously discarded).\r\n\r\n```\r\nBenchmark 1 (120 runs): zig-out/bin-old/scanner Gtk-4.0.gir\r\n measurement mean ± σ min … max outliers delta\r\n wall_time 41.6ms ± 470us 40.7ms … 43.5ms 1 ( 1%) 0%\r\n peak_rss 7.27MB ± 88.0KB 7.08MB … 7.34MB 0 ( 0%) 0%\r\n cpu_cycles 152M ± 839K 151M … 158M 3 ( 3%) 0%\r\n instructions 472M ± 20.8 472M … 472M 0 ( 0%) 0%\r\n cache_references 270K ± 625K 206K … 7.03M 10 ( 8%) 0%\r\n cache_misses 7.95K ± 260 7.61K … 9.81K 3 ( 3%) 0%\r\n branch_misses 511K ± 631 510K … 512K 18 (15%) 0%\r\nBenchmark 2 (116 runs): zig-out/bin/scanner Gtk-4.0.gir\r\n measurement mean ± σ min … max outliers delta\r\n wall_time 43.0ms ± 452us 41.9ms … 44.4ms 4 ( 3%) 💩+ 3.3% ± 0.3%\r\n peak_rss 7.28MB ± 77.9KB 7.08MB … 7.34MB 0 ( 0%) + 0.2% ± 0.3%\r\n cpu_cycles 158M ± 694K 156M … 159M 0 ( 0%) 💩+ 4.0% ± 0.1%\r\n instructions 527M ± 19.4 527M … 527M 27 (23%) 💩+ 11.7% ± 0.0%\r\n cache_references 234K ± 265K 207K … 3.06M 10 ( 9%) - 13.5% ± 45.6%\r\n cache_misses 7.93K ± 435 7.49K … 11.8K 5 ( 4%) - 0.3% ± 1.1%\r\n branch_misses 514K ± 335 513K … 515K 1 ( 1%) + 0.7% ± 0.0%\r\n```\r\n\r\n```\r\nBenchmark 1 (44 runs): zig-out/bin-old/token_reader Gtk-4.0.gir\r\n measurement mean ± σ min … max outliers delta\r\n wall_time 116ms ± 631us 115ms … 117ms 0 ( 0%) 0%\r\n peak_rss 7.30MB ± 59.0KB 7.21MB … 7.34MB 0 ( 0%) 0%\r\n cpu_cycles 462M ± 1.91M 459M … 466M 0 ( 0%) 0%\r\n instructions 1.14G ± 21.9 1.14G … 1.14G 0 ( 0%) 0%\r\n cache_references 233K ± 6.77K 226K … 253K 3 ( 7%) 0%\r\n cache_misses 9.69K ± 1.48K 8.05K … 13.6K 0 ( 0%) 0%\r\n branch_misses 815K ± 1.16K 813K … 817K 0 ( 0%) 0%\r\nBenchmark 2 (72 runs): zig-out/bin/token_reader Gtk-4.0.gir\r\n measurement mean ± σ min … max outliers delta\r\n wall_time 70.2ms ± 782us 68.9ms … 75.3ms 2 ( 3%) ⚡- 39.4% ± 0.2%\r\n peak_rss 7.29MB ± 63.4KB 7.21MB … 7.34MB 0 ( 0%) - 0.2% ± 0.3%\r\n cpu_cycles 271M ± 2.75M 268M … 291M 7 (10%) ⚡- 41.3% ± 0.2%\r\n instructions 885M ± 19.2 885M … 885M 17 (24%) ⚡- 22.6% ± 0.0%\r\n cache_references 224K ± 7.03K 219K … 263K 7 (10%) ⚡- 3.9% ± 1.1%\r\n cache_misses 8.32K ± 909 7.80K … 14.4K 6 ( 8%) ⚡- 14.1% ± 4.5%\r\n branch_misses 671K ± 42.3K 664K … 1.03M 3 ( 4%) ⚡- 17.6% ± 1.6%\r\n```\r\n\r\n```\r\nBenchmark 1 (35 runs): zig-out/bin-old/reader Gtk-4.0.gir\r\n measurement mean ± σ min … max outliers delta\r\n wall_time 145ms ± 857us 143ms … 148ms 2 ( 6%) 0%\r\n peak_rss 7.29MB ± 65.1KB 7.21MB … 7.34MB 0 ( 0%) 0%\r\n cpu_cycles 582M ± 3.06M 578M … 596M 1 ( 3%) 0%\r\n instructions 1.38G ± 24.7 1.38G … 1.38G 0 ( 0%) 0%\r\n cache_references 758K ± 196K 513K … 1.59M 2 ( 6%) 0%\r\n cache_misses 14.3K ± 6.84K 11.4K … 49.2K 4 (11%) 0%\r\n branch_misses 1.06M ± 14.0K 1.05M … 1.11M 3 ( 9%) 0%\r\nBenchmark 2 (48 runs): zig-out/bin/reader Gtk-4.0.gir\r\n measurement mean ± σ min … max outliers delta\r\n wall_time 105ms ± 1.55ms 104ms … 113ms 1 ( 2%) ⚡- 27.2% ± 0.4%\r\n peak_rss 7.27MB ± 93.6KB 7.08MB … 7.34MB 0 ( 0%) - 0.2% ± 0.5%\r\n cpu_cycles 419M ± 6.29M 414M … 450M 1 ( 2%) ⚡- 28.1% ± 0.4%\r\n instructions 1.13G ± 19.6 1.13G … 1.13G 11 (23%) ⚡- 18.1% ± 0.0%\r\n cache_references 575K ± 59.7K 490K … 797K 1 ( 2%) ⚡- 24.2% ± 7.9%\r\n cache_misses 12.5K ± 876 11.4K … 15.3K 5 (10%) - 12.3% ± 13.9%\r\n branch_misses 1.07M ± 4.22K 1.07M … 1.09M 8 (17%) + 1.2% ± 0.4%\r\n```","shortMessageHtmlLink":"perf: move data out of Scanner.Token (#26)"}},{"before":null,"after":"99e05a76305715eb6499d1caa0481877811306f4","ref":"refs/heads/perf/scanner","pushedAt":"2023-10-15T22:30:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ianprime0509","name":"Ian Johnson","path":"/ianprime0509","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5870990?s=80&v=4"},"commit":{"message":"perf: move data out of `Scanner.Token`\n\nBy storing the token data in a separate `Scanner` field and having\n`Token` be merely the token type, we can avoid a decent amount of\ncopying when tokens are passed around. This leads to considerable\nspeedups for the `TokenReader` and `Reader` benchmarks (the `Scanner`\nbenchmark is slightly slower, but that probably has more to do with how\nthat particular benchmark is written, since the token data was\npreviously discarded).\n\n```\nBenchmark 1 (120 runs): zig-out/bin-old/scanner Gtk-4.0.gir\n measurement mean ± σ min … max outliers delta\n wall_time 41.6ms ± 470us 40.7ms … 43.5ms 1 ( 1%) 0%\n peak_rss 7.27MB ± 88.0KB 7.08MB … 7.34MB 0 ( 0%) 0%\n cpu_cycles 152M ± 839K 151M … 158M 3 ( 3%) 0%\n instructions 472M ± 20.8 472M … 472M 0 ( 0%) 0%\n cache_references 270K ± 625K 206K … 7.03M 10 ( 8%) 0%\n cache_misses 7.95K ± 260 7.61K … 9.81K 3 ( 3%) 0%\n branch_misses 511K ± 631 510K … 512K 18 (15%) 0%\nBenchmark 2 (116 runs): zig-out/bin/scanner Gtk-4.0.gir\n measurement mean ± σ min … max outliers delta\n wall_time 43.0ms ± 452us 41.9ms … 44.4ms 4 ( 3%) 💩+ 3.3% ± 0.3%\n peak_rss 7.28MB ± 77.9KB 7.08MB … 7.34MB 0 ( 0%) + 0.2% ± 0.3%\n cpu_cycles 158M ± 694K 156M … 159M 0 ( 0%) 💩+ 4.0% ± 0.1%\n instructions 527M ± 19.4 527M … 527M 27 (23%) 💩+ 11.7% ± 0.0%\n cache_references 234K ± 265K 207K … 3.06M 10 ( 9%) - 13.5% ± 45.6%\n cache_misses 7.93K ± 435 7.49K … 11.8K 5 ( 4%) - 0.3% ± 1.1%\n branch_misses 514K ± 335 513K … 515K 1 ( 1%) + 0.7% ± 0.0%\n```\n\n```\nBenchmark 1 (44 runs): zig-out/bin-old/token_reader Gtk-4.0.gir\n measurement mean ± σ min … max outliers delta\n wall_time 116ms ± 631us 115ms … 117ms 0 ( 0%) 0%\n peak_rss 7.30MB ± 59.0KB 7.21MB … 7.34MB 0 ( 0%) 0%\n cpu_cycles 462M ± 1.91M 459M … 466M 0 ( 0%) 0%\n instructions 1.14G ± 21.9 1.14G … 1.14G 0 ( 0%) 0%\n cache_references 233K ± 6.77K 226K … 253K 3 ( 7%) 0%\n cache_misses 9.69K ± 1.48K 8.05K … 13.6K 0 ( 0%) 0%\n branch_misses 815K ± 1.16K 813K … 817K 0 ( 0%) 0%\nBenchmark 2 (72 runs): zig-out/bin/token_reader Gtk-4.0.gir\n measurement mean ± σ min … max outliers delta\n wall_time 70.2ms ± 782us 68.9ms … 75.3ms 2 ( 3%) ⚡- 39.4% ± 0.2%\n peak_rss 7.29MB ± 63.4KB 7.21MB … 7.34MB 0 ( 0%) - 0.2% ± 0.3%\n cpu_cycles 271M ± 2.75M 268M … 291M 7 (10%) ⚡- 41.3% ± 0.2%\n instructions 885M ± 19.2 885M … 885M 17 (24%) ⚡- 22.6% ± 0.0%\n cache_references 224K ± 7.03K 219K … 263K 7 (10%) ⚡- 3.9% ± 1.1%\n cache_misses 8.32K ± 909 7.80K … 14.4K 6 ( 8%) ⚡- 14.1% ± 4.5%\n branch_misses 671K ± 42.3K 664K … 1.03M 3 ( 4%) ⚡- 17.6% ± 1.6%\n```\n\n```\nBenchmark 1 (35 runs): zig-out/bin-old/reader Gtk-4.0.gir\n measurement mean ± σ min … max outliers delta\n wall_time 145ms ± 857us 143ms … 148ms 2 ( 6%) 0%\n peak_rss 7.29MB ± 65.1KB 7.21MB … 7.34MB 0 ( 0%) 0%\n cpu_cycles 582M ± 3.06M 578M … 596M 1 ( 3%) 0%\n instructions 1.38G ± 24.7 1.38G … 1.38G 0 ( 0%) 0%\n cache_references 758K ± 196K 513K … 1.59M 2 ( 6%) 0%\n cache_misses 14.3K ± 6.84K 11.4K … 49.2K 4 (11%) 0%\n branch_misses 1.06M ± 14.0K 1.05M … 1.11M 3 ( 9%) 0%\nBenchmark 2 (48 runs): zig-out/bin/reader Gtk-4.0.gir\n measurement mean ± σ min … max outliers delta\n wall_time 105ms ± 1.55ms 104ms … 113ms 1 ( 2%) ⚡- 27.2% ± 0.4%\n peak_rss 7.27MB ± 93.6KB 7.08MB … 7.34MB 0 ( 0%) - 0.2% ± 0.5%\n cpu_cycles 419M ± 6.29M 414M … 450M 1 ( 2%) ⚡- 28.1% ± 0.4%\n instructions 1.13G ± 19.6 1.13G … 1.13G 11 (23%) ⚡- 18.1% ± 0.0%\n cache_references 575K ± 59.7K 490K … 797K 1 ( 2%) ⚡- 24.2% ± 7.9%\n cache_misses 12.5K ± 876 11.4K … 15.3K 5 (10%) - 12.3% ± 13.9%\n branch_misses 1.07M ± 4.22K 1.07M … 1.09M 8 (17%) + 1.2% ± 0.4%\n```","shortMessageHtmlLink":"perf: move data out of Scanner.Token"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUGqNhwA","startCursor":null,"endCursor":null}},"title":"Activity · ianprime0509/zig-xml"}