Docs

Submitting your results

How a run becomes a public gallery entry, and what gets published.

The community results gallery is a public collection of real BenchKit runs across different hosts, hardware, and PHP configurations. Adding yours is how the next person finds a machine like the one they are considering.

Submitting is optional. BenchKit never sends anything anywhere on its own, and a run only leaves your machine when you press the button.

How to submit a run

Finish a run

Run a benchmark and wait for it to complete.

Press Submit result

Fill in where it ran, which provider and plan you used, and what you pay. BenchKit has already detected the machine details. What you fill in is the part only you know.

Review what will be published

BenchKit shows you the exact document before anything leaves your browser, and then opens a pre-filled GitHub issue.

Post the issue

A bot validates your submission and opens a pull request. Once a maintainer merges it, your run appears in the gallery.

Why it goes through GitHub

We did not want to maintain a server to receive results, and a GitHub issue turned out to be a better answer than one anyway. Your submission is credited to your GitHub account without BenchKit needing accounts or logins, every result arrives through a pull request anyone can review, and the issue stays open as a place where people can ask you about your setup. A form would have collected the same numbers and none of the conversation.

What gets published

The published document is an allow-list. A field appears in the gallery because somebody decided it should, rather than because nobody thought to remove it.

Published, because it explains the numbers: your hardware, PHP version and variation, whether the application was serving in worker mode, the performance-related php.ini settings, the FPM pool size, the database engine, which stages ran, the load settings, and the host, plan, and cost you entered.

Never published:

WithheldWhy
Console logsThey contain your public IP
APP_URL and internal hostnamesThey describe your network
The raw network block from YABSOn home hardware it identifies your ISP and city
Filesystem paths, such as the preload pathA path can carry a project or company name

Whether preloading is enabled is published, because it explains performance. The path is not.

A second check backs this up. A GitHub Action scans every submitted document for IP addresses, filesystem paths, email addresses, private hostnames, and links to anywhere unexpected, and fails the pull request if it finds any.

The gallery holds community-submitted numbers from hardware their submitters control. No single run is independently proven. The gallery shows a distribution rather than a leaderboard, because a ranking across different hardware, settings, and image variations would be meaningless.

Each run carries a checksum taken when it was measured, and the site recomputes it on every build. Nobody can edit a number after the fact without the check failing. The checksum catches truncation and tampering in transit. It cannot prove the original measurement was made honestly, which is why runs from the BenchKit team are marked, and why you should filter to one image variation and one provider before drawing a conclusion.

If you spot something in the gallery that should not be public, please open an issue.