Skip to content

[0079] 修复 bytevector-base64-decode Scheme 实现并收紧 base64 性能基准#877

Merged
da-liii merged 1 commit into
mainfrom
da/0079/vector
Jun 26, 2026
Merged

[0079] 修复 bytevector-base64-decode Scheme 实现并收紧 base64 性能基准#877
da-liii merged 1 commit into
mainfrom
da/0079/vector

Conversation

@da-liii

@da-liii da-liii commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • 修复 (liii base64)bytevector-base64-decode 的多个正确性缺陷:长度非 4X 时崩溃(比率传给 make-bytevector)、填充位置错误的输入被错误解码(如 Zg=v)、非法字符静默接受、缺少类型检查
  • 新增 tests/liii/base64/bytevector-base64-decode-test.scm,覆盖 36 个 check(空输入、1~6 字节全部填充、字符集边界含 0xff/NUL、round-trip、非法长度/字符/填充位置/类型)
  • 收紧 bench/base64-perf.scm 各档迭代次数,总耗时从 >60s 降至约 17s,便于频繁运行和后续优化对比

Test plan

  • bin/gf fmt goldfish/liii/base64.scm
  • bin/gf fmt tests/liii/base64/bytevector-base64-decode-test.scm
  • bin/gf tests/liii/base64/bytevector-base64-decode-test.scm — 36 correct, 0 failed
  • bin/gf tests/liii/base64/base64-decode-test.scm — 9 correct, 0 failed(无回归)
  • bin/gf tests/liii/base64/base64-encode-test.scm — 10 correct, 0 failed(无回归)
  • bin/gf bench/base64-perf.scm — 17.3s,各档稳定输出

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@da-liii da-liii merged commit 94bdf81 into main Jun 26, 2026
5 checks passed
@da-liii da-liii deleted the da/0079/vector branch June 26, 2026 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant