Skip to content

Add hash-bench-gb to Demos#259

Open
dmang-dev wants to merge 1 commit into
gbdev:masterfrom
dmang-dev:add-hash-bench-gb
Open

Add hash-bench-gb to Demos#259
dmang-dev wants to merge 1 commit into
gbdev:masterfrom
dmang-dev:add-hash-bench-gb

Conversation

@dmang-dev
Copy link
Copy Markdown

@dmang-dev dmang-dev commented May 15, 2026

What this PR does

Adds a single entry to Homebrews → Demos (per the contribution guide's "add to bottom of relevant category"):

- [hash-bench-gb](https://github.com/dmang-dev/hash-bench-gb) - Hash-algorithm benchmark cartridge that times 18 cryptographic and non-cryptographic hashes (CRC, MD5, SHA-1, etc.) on the SM83 and displays ms/iter and KB/s on screen.

Why "Demos" rather than another section

hash-bench-gb sits naturally with the other non-game technical homebrew demonstrations already there — matrix-rain-gb, GBVideoPlayer*, 10 PRINT, etc. It's not a game (so not Homebrews/C), not an emulator-accuracy test ROM (so not Emulator Development/Testing), and not a tutorial (so not Programming/C). I considered Programming/C but the project is positioned as a working benchmark, not as instructional material.

If a reviewer thinks it belongs elsewhere — Software Development → Tools, or Related projects, or even Programming → C as worked example — happy to move it.

Project at a glance

Checklist (per CONTRIBUTING.md)

  • Resource is in English
  • Resource is in a minimal working state (prebuilt ROMs committed + downloadable from the v1.0.0 release)
  • Resource has a clear purpose (hash-algorithm performance benchmark on SM83)
  • Resource has documentation (README explains every algorithm, build, run, controls, why GB is limited to 18 algos)
  • Entry uses the required [name](url) - Description. format
  • Description starts with a capital letter and ends with a period
  • Entry added to the bottom of an existing section
  • Uses "Game Boy" rather than "gameboy" / "GameBoy" in the description

Disclosure

I'm the author.

A hash-algorithm benchmark cartridge that times 18 cryptographic and
non-cryptographic hashes on the SM83 (CRC-8/16/32, Adler-32, Fletcher-
16/32, Pearson-8, DJB2, FNV-1a, Knuth, Jenkins-OAT, PJW, SDBM,
Murmur3-32, xxHash32, MD4, MD5, SHA-1) and displays ms/iter + KB/s on
screen.  Part of an open-source cross-platform suite that runs the
same algorithm sources unmodified on seven Nintendo consoles, which
makes it useful for "what does each console actually buy you" CPU
comparisons rather than as a single-target demo.

- Repo: https://github.com/dmang-dev/hash-bench-gb
- v1.0.0 release with prebuilt .gb / .gbc ROMs:
  https://github.com/dmang-dev/hash-bench-gb/releases/tag/v1.0.0
- Cross-platform umbrella: https://github.com/dmang-dev/hash-bench
- License: MIT
- Built with: GBDK-2020 / SDCC

Sister entries will be submitted to awesome-n64-development /
awesome-gbadev / awesome-dsdev / awesome-8bitgamedev as separate
PRs in their respective repos; they don't touch this list.

Tested in mGBA, BGB, and SameBoy.
@dmang-dev dmang-dev force-pushed the add-hash-bench-gb branch from 737ca62 to b2ce689 Compare May 15, 2026 17:39
@dmang-dev dmang-dev marked this pull request as ready for review May 15, 2026 17:40
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