Skip to content

Add AmiSSL-vs-builtin and asm-vs-C on-target benchmarks (#85 groundwork) - #102

Merged
sidick merged 1 commit into
mainfrom
amissl-asm-bench-tooling
Jul 28, 2026
Merged

sidick merged 1 commit into
mainfrom
amissl-asm-bench-tooling

Conversation

@sidick

@sidick sidick commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • Dev-only Copperline benchmark tooling, wired into make amissl-bench / make asm-bench.
  • amissl-bench.sh compares AmiSSL's PKCS5_PBKDF2_HMAC_SHA1 against the builtin pbkdf2_hmac_sha1, same boot/CPU pass. Boots from a copy-on-write clone of the project's Workbench 3.2 test install rather than a synthetic minimal disk — OpenAmiSSLTags() reliably crashed ramlib on a from-scratch boot volume that only had the libraries copied into LIBS: (it also needs the AmiSSL: assign that S:User-Startup sets up).
  • asm-bench.sh compares the portable C SHA-1 compress function against the hand-written 68000 asm one (68k assembler crypto hot loop (SHA-1) #47), same boot/CPU, real 68000.
  • fetch-amissl-sdk.sh fetches + verifies the pinned AmiSSL SDK (Developer headers + libamisslstubs.a) needed to link amissl-bench.

Findings posted to #85: AmiSSL is 12.7% slower than builtin on 68020, but 15-17% faster on 68030/68040 — the earlier "not worth it" read didn't generalize across CPU tiers. Also checked whether rolling per-CPU-tier hand asm would be a better alternative (no — the current CPU-generic asm path already banks its win at the real 68000 baseline, and AmiSSL is the cheaper way to capture the 030/040 margin if it's wanted). PiStorm/Vampire-Apollo accelerators and the ZZ9000 hardware-crypto-offload AmiSSL variant are also addressed in the issue comments (untested / doesn't apply to AmiAuth's crypto usage, respectively).

Test plan

  • make amissl-bench — BUILTIN/AMISSL PBKDF2 comparison runs end-to-end on 68020/68030/68040 (real Kickstart 3.2, A1200/AGA, WB clone)
  • make asm-bench — C-vs-asm PBKDF2 comparison runs end-to-end on real 68000 (A500, [[filesys]])
  • Neither target is wired into CI or make all — dev-only, doesn't affect the shipped build

🤖 Generated with Claude Code

Dev-only Copperline benchmark tooling, wired into make amissl-bench /
make asm-bench:

- amissl-bench.sh compares AmiSSL's PKCS5_PBKDF2_HMAC_SHA1 against the
  builtin pbkdf2_hmac_sha1, same boot/CPU pass. Boots from a
  copy-on-write clone of the project's Workbench 3.2 test install
  rather than a synthetic minimal disk - OpenAmiSSLTags() reliably
  crashed ramlib on a from-scratch boot volume that only had the
  libraries copied into LIBS: (also needs the `AmiSSL:` assign that
  S:User-Startup sets up, evidently for something InitAmiSSL() reads
  even with no networking).
- asm-bench.sh compares the portable C SHA-1 compress function against
  the hand-written 68000 asm one (#47), same boot/CPU, real 68000.
- fetch-amissl-sdk.sh fetches + verifies the pinned AmiSSL SDK
  (Developer headers + libamisslstubs.a) needed to link amissl-bench.

Findings posted to #85: AmiSSL is 12.7% slower than builtin on 68020,
but 15-17% faster on 68030/68040 - the earlier "not worth it" read
didn't generalize across CPU tiers.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@sidick
sidick enabled auto-merge (squash) July 28, 2026 04:33
@sidick
sidick merged commit c27268b into main Jul 28, 2026
7 checks passed
@sidick
sidick deleted the amissl-asm-bench-tooling branch July 28, 2026 04:34
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