Repository navigation
defk-9p6.36: codecs header measured again; range facts made base64 and hex 2x faster - #73
Merged
Merged
Conversation
…ultiples made base64 and hex 2x faster Three runs on 2026-10-20 (best of 15, provisional: other processes used 0.6-2.3 cores): base64 6.1-6.7x, hex 3.56-3.63x, base58 3.35-3.55x, all good. A bisect of encode64 over main's merges since the header was written names the defk-upc merge (1ba1838): 489 -> 251-260 us. The hex verdict text no longer sits at the 2x line; reason strings, the README line and docs/performance.md follow.
DanielLuning
pushed a commit
that referenced
this pull request
Oct 20, 2026
…e defk-upc merge 1ba1838 (range facts for constant multiples)."
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
examples/codecs.exs: the Measured block, the expected-verdict line, the base58 baseline ratios, the recommendation and the three report reasons now match three runs on 2026-10-20. A new paragraph says why the kernels got faster.docs/performance.md: 6.2 records the bisect (encode64489 -> 251-260 us at thedefk-upcmerge 1ba1838); 1.7, 3.4, 5.x (single key) and 7 (fast64) quote the new numbers.examples/_tables.exsandexamples/README.md: the codecs line says "one key per call is about as fast as Elixir"; the prose line has the new ratios. The tables were regenerated withmix defk.docs;examples/scoreboard.jsonis unchanged (its codecs row is the quiet 2026-10-19 measurement).Results
Provisional: other processes used 0.6-2.3 cores beside the runs. Best of 15, three runs, M-series Mac.
:binary.encode_hex(was 1.5x), decode 4.3-4.7x.defk-upc, 2026-10-10) drop the bounds and overflow checks ons[3 * g],out[4 * g]and2 * i.git bisect --first-parentover main from 7365e4a to 2595489, timingencode64alone. The base58 gain was not bisected.How it was checked
mix cigreen in the worktree on the Mac (2305 passed).mix defk.examples --only codecsok (3 checks).CHANGELOG.mdentry, and a deprecation for a rename or removal (docs/guides/stability.md).test/stability/? A frozen file is never edited; a release adds a directory (docs/agents/stability.md).