{"id":20064251,"url":"https://github.com/mochidev/swift-server-benchmarks","last_synced_at":"2026-02-06T17:06:25.146Z","repository":{"id":249368964,"uuid":"830960064","full_name":"mochidev/swift-server-benchmarks","owner":"mochidev","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-21T10:30:23.000Z","size":21,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-04T04:40:27.780Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mochidev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-19T10:50:54.000Z","updated_at":"2024-09-11T23:00:17.000Z","dependencies_parsed_at":"2024-07-20T09:46:02.384Z","dependency_job_id":"8bc4f793-b931-412d-ab52-9d64e3f2ab0d","html_url":"https://github.com/mochidev/swift-server-benchmarks","commit_stats":null,"previous_names":["mochidev/swift-server-benchmarks"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mochidev/swift-server-benchmarks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mochidev%2Fswift-server-benchmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mochidev%2Fswift-server-benchmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mochidev%2Fswift-server-benchmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mochidev%2Fswift-server-benchmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mochidev","download_url":"https://codeload.github.com/mochidev/swift-server-benchmarks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mochidev%2Fswift-server-benchmarks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29169384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T16:33:35.550Z","status":"ssl_error","status_checked_at":"2026-02-06T16:33:30.716Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T13:45:25.986Z","updated_at":"2026-02-06T17:06:25.131Z","avatar_url":"https://github.com/mochidev.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Swift Server Benchmarks\n\nThis repo serves to compare different Swift server configurations and evaluate their relative performance, so users of these configurations can make informed decisions when planning their application on specific hardware or deployments.\n\n### Requirements\n\nPlease make sure jemalloc is installed:\n```\n% brew install jemalloc\n```\n\n### Running Benchmarks\n\nRunning through Xcode is not supported. Please run the benchmarks with:\n```\n% swift package --disable-sandbox benchmark\n```\n\n\u003e [!IMPORTANT]\n\u003e `--disable-sandbox` is necessary to bind benchmarked servers to a port on your system so they can run. As with all software you download from the internet, please inspect it before running it!\n\n### Naming Convention\n\nBanckmarks are named according to the order of handlers configured on the NIO channel, with the client side on the left, and server side on the right.\n\nFor instance, `SingleRequest -\u003e AsyncHTTPClient -\u003e TCP -\u003e Loopback \u003c- TCP \u003c- TLS \u003c- HTTP2 \u003c- ResponseCompression \u003c- Vapor \u003c- Computed \u003c- 1GB \u003c- Pattern` would test a client making a request to a server over the `Loopback` TCP interface.\n\nOn the client end, `SingleRequest -\u003e AsyncHTTPClient -\u003e TCP -\u003e` indicates a single request is made over `AsyncHTTPClient` to a TCP address. `-\u003e` indicates the direction being primarily tested is sending the request to the server.\n\nOn the server end, `\u003c- TCP \u003c- TLS \u003c- HTTP2 \u003c- ResponseCompression \u003c- Vapor \u003c- Computed \u003c- 1GB \u003c- Pattern` indicates a server listening on a TCP socket with TLS enabled, running the HTTP/2 protocol, with dynamic response compression turned on, managed by Vapor to serve on-demand computed data 1 GB in size and pseudo-random but consistent in form. `\u003c-` indicates the direction being primarily tested is sending the response back to the client.\n\n\u003e [!Note]\n\u003e The protocol and options for the client are omitted because they are not only also specified on the server half, but also indicate default options that don't need to be configured.\n\n\n## Contributing\n\nContribution is welcome! Please take a look at the issues already available, or start a new discussion to propose a new feature. Although guarantees can't be made regarding feature requests, PRs that fit within the goals of the project and that have been discussed beforehand are more than welcome!\n\nPlease make sure that all submissions have clean commit histories, are well documented, and thoroughly tested. **Please rebase your PR** before submission rather than merge in `main`. Linear histories are required, so merge commits in PRs will not be accepted.\n\n## Support\n\nTo support this project, consider following [@dimitribouniol](https://mastodon.social/@dimitribouniol) on Mastodon, or checking out his app, [Jiiiii](https://jiiiii.moe/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmochidev%2Fswift-server-benchmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmochidev%2Fswift-server-benchmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmochidev%2Fswift-server-benchmarks/lists"}