{"id":17282725,"url":"https://github.com/zenixls2/restfulspeedtest","last_synced_at":"2026-04-07T18:32:40.644Z","repository":{"id":138004029,"uuid":"75686065","full_name":"zenixls2/restfulspeedtest","owner":"zenixls2","description":"test several web frameworks from different languages for performance comparison.","archived":false,"fork":false,"pushed_at":"2018-01-11T05:15:49.000Z","size":52,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T15:55:38.835Z","etag":null,"topics":["c","dart","golang","groovy","pypy","python2","python3","rust","scala"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zenixls2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2016-12-06T02:22:39.000Z","updated_at":"2018-12-06T15:11:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"41119540-2304-489d-916d-f3dd862a1155","html_url":"https://github.com/zenixls2/restfulspeedtest","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zenixls2/restfulspeedtest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenixls2%2Frestfulspeedtest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenixls2%2Frestfulspeedtest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenixls2%2Frestfulspeedtest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenixls2%2Frestfulspeedtest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zenixls2","download_url":"https://codeload.github.com/zenixls2/restfulspeedtest/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenixls2%2Frestfulspeedtest/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31524525,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"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":["c","dart","golang","groovy","pypy","python2","python3","rust","scala"],"created_at":"2024-10-15T09:49:39.306Z","updated_at":"2026-04-07T18:32:40.613Z","avatar_url":"https://github.com/zenixls2.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Speed Test for Microservice Frameworks in Different Languages\n\n### Brief Introdution\nJust start the project for personal interests.\nSome projects might be lack of performance tuning, so any contribution is welcomed.\nThis project is still in its early stages, and only one simple case is tested.\n\n### Test Environment\nAll the tests are run using\n```bash\nwrk --latency -t12 -d10s -c100 http://localhost:8080/\n```\non top of a MacBook Pro (Retina, 13-inch, Early 2015).\n\nPython3.6 introduced several improvements including some code from uvloop\nmerged into asyncio. However, uvloop still outperforms. See [Issue #26081](http://bugs.python.org/issue28544) and [Issue #26081](https://bugs.python.org/issue26081).\n\nDue to lack of NUMA and other Linux specific libraries' support,\nsome frameworks or libraries such as Facebook proxygen still cannot be tested. Plan to re-run the whole project using a ubuntu Docker image in the future, or using some EC2 instances to run the test.\n\nFor some languages with JIT implementation, the cold-start time should be considered. We should run at least 3 times of tests beforehand to warm-up the service.\n\n### Supported Frameworks / Languages\n * Dart 1.22.1 - isolate + Stream\n * Golang 1.9.1 - fasthttp + fasthttprouter\n * Nodejs 8.5.0 - cluster + http core\n * Python 2.17.13 - gevent.WSGIServer + multiprocess\n * Python 3.6.4 - sanic 0.7.0 (httptools + uvloop + asyncio)\n * Python 3.6.1 - aiohttp 2.2.3\n * Pypy 5.7.0 - gevent.WSGIServer + multiprocess\n * Scala 2.12.2 - Akka\n * Rust 1.19.0 - mioco 0.8.1\n * Rust 1.19.0 - Iron 0.5.1\n * C - lwan\n * Groovy (Java) - Spring Boot 1.5.3\n * JRuby - Torquebox 4.0.0 Beta3\n * PHP 7.2 - swoole\n\n### Test Comparison (Requests/sec)\n * darttest:                32682.07\n * gotest:                86434.56\n * groovyspringboosttest:                27803.93\n * h2otest:                53921.95\n * jrubytorqueboxtest:                35189.56\n * nodetest:                35412.58\n * phpswooletest:                51156.86\n * pypytest:                15204.38\n * python3aiohttptest:                 7592.93\n * python3test:                28413.94\n * pythontest:                10025.78\n * rustmiocotest:                73404.16\n * rusttest:                42359.07\n * scalatest:                52146.17\n\n### Average Latency\n * darttest: 13.75ms\n * gotest: 1.11ms\n * groovyspringboosttest: 4.58ms\n * h2otest: 1.89ms\n * jrubytorqueboxtest: 2.73ms\n * nodetest: 5.23ms\n * phpswooletest: 17.35ms\n * pypytest: 3.04k\n * python3aiohttptest: 12.64ms\n * python3test: 5.12ms\n * pythontest: 2.48k\n * rustmiocotest: 1.30ms\n * rusttest: 725.99us\n * scalatest: 7.32ms\n\n### Max Latency\n * darttest: 169.23ms\n * gotest: 88.88ms\n * groovyspringboosttest: 220.43ms\n * h2otest: 155.39ms\n * jrubytorqueboxtest: 29.00ms\n * nodetest: 127.98ms\n * phpswooletest: 251.90ms\n * pypytest: 7.75k\n * python3aiohttptest: 61.07ms\n * python3test: 128.05ms\n * pythontest: 9.25k\n * rustmiocotest: 3.88ms\n * rusttest: 8.96ms\n * scalatest: 498.91ms\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenixls2%2Frestfulspeedtest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzenixls2%2Frestfulspeedtest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenixls2%2Frestfulspeedtest/lists"}