{"id":16185528,"url":"https://github.com/patrickhulce/is-node-enough","last_synced_at":"2025-12-31T14:35:05.890Z","repository":{"id":66227408,"uuid":"81406272","full_name":"patrickhulce/is-node-enough","owner":"patrickhulce","description":"Benchmarks of servers written in various languages for various purposes to see if node is fast enough.","archived":false,"fork":false,"pushed_at":"2017-02-16T04:44:00.000Z","size":3039,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-19T00:48:21.974Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","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/patrickhulce.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":"2017-02-09T03:46:40.000Z","updated_at":"2017-03-10T06:50:29.000Z","dependencies_parsed_at":"2023-03-21T01:33:31.163Z","dependency_job_id":null,"html_url":"https://github.com/patrickhulce/is-node-enough","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"c34ef98f10ca016b574564028702bc9e967dba7e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickhulce%2Fis-node-enough","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickhulce%2Fis-node-enough/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickhulce%2Fis-node-enough/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickhulce%2Fis-node-enough/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patrickhulce","download_url":"https://codeload.github.com/patrickhulce/is-node-enough/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247657266,"owners_count":20974345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-10-10T07:14:32.671Z","updated_at":"2025-12-31T14:35:05.825Z","avatar_url":"https://github.com/patrickhulce.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Response Times\n\n## Redis\n`siegem -d0 -r 100 -c 100 -H 'Content-Type: application/json' --data '{\"id\":123,\"name\":\"foobar\",\"name_2\":\"bazbam\",\"metadata\":{\"name\":\"name\",\"val\":\"val\"}}' http://localhost:8200/redis`\n\n### go - `net/http`\n```\nTransactions:                  10000\nAvailability:                    100 %\nElapsed time:                   9.89 s\nResponse time:                98.135 ms\nTransaction rate:           1011.122 trans/sec\nAverage Concurrency:          99.323\nSuccessful transactions:       10000\nFailed transactions:               0\nLongest transaction:             467 ms\n90th percentile:                 109 ms\n50th percentile:                  94 ms\nShortest transaction:             42 ms\n```\n\n### node.js\n```\nTransactions:                  10000\nAvailability:                    100 %\nElapsed time:                 13.809 s\nResponse time:               137.165 ms\nTransaction rate:            724.165 trans/sec\nAverage Concurrency:          99.424\nSuccessful transactions:       10000\nFailed transactions:               0\nLongest transaction:             314 ms\n90th percentile:                 160 ms\n50th percentile:                 132 ms\nShortest transaction:             64 ms\n```\n\n### scala - `JsValue`\n```\nTransactions:                  10000\nAvailability:                    100 %\nElapsed time:                 16.539 s\nResponse time:               164.483 ms\nTransaction rate:            604.631 trans/sec\nAverage Concurrency:          99.595\nSuccessful transactions:       10000\nFailed transactions:               0\nLongest transaction:            2794 ms\n90th percentile:                 163 ms\n50th percentile:                 138 ms\nShortest transaction:              2 ms\n```\n\n### python\n```\nTransactions:                  10000\nAvailability:                    100 %\nElapsed time:                 19.249 s\nResponse time:               191.227 ms\nTransaction rate:            519.508 trans/sec\nAverage Concurrency:          99.444\nSuccessful transactions:       10000\nFailed transactions:               0\nLongest transaction:             482 ms\n90th percentile:                 212 ms\n50th percentile:                 187 ms\nShortest transaction:             73 ms\n```\n\n### scala - native objects\n```\nTransactions:                  10000\nAvailability:                    100 %\nElapsed time:                 20.429 s\nResponse time:               203.233 ms\nTransaction rate:              489.5 trans/sec\nAverage Concurrency:          99.532\nSuccessful transactions:       10000\nFailed transactions:               0\nLongest transaction:            1002 ms\n90th percentile:                 277 ms\n50th percentile:                 187 ms\nShortest transaction:             29 ms\n```\n\n## Image Processing\n`siegem -d0 -r 50 -c 20 -H 'Content-Type: image/jpeg' -X POST --data @test-file.jpg \u003cURL\u003e`\n\n### node.js - `sharp`\n```\nTransactions:                   1000\nAvailability:                    100 %\nElapsed time:                 29.618 s\nResponse time:               497.207 ms\nTransaction rate:             33.763 trans/sec\nAverage Concurrency:          16.864\nSuccessful transactions:        1000\nFailed transactions:               0\nLongest transaction:            5183 ms\n90th percentile:                 722 ms\n50th percentile:                 487 ms\nShortest transaction:             91 ms\n```\n\n### go - `net/http`, `vips`\n```\nTransactions:                   1000\nAvailability:                    100 %\nElapsed time:                 32.057 s\nResponse time:               638.557 ms\nTransaction rate:             31.194 trans/sec\nAverage Concurrency:          19.931\nSuccessful transactions:        1000\nFailed transactions:               0\nLongest transaction:            1130 ms\n90th percentile:                 762 ms\n50th percentile:                 639 ms\nShortest transaction:             65 ms\n```\n\n### python - `Pillow`\n```\nTransactions:                   1000\nAvailability:                    100 %\nElapsed time:                101.028 s\nResponse time:              2006.634 ms\nTransaction rate:              9.898 trans/sec\nAverage Concurrency:          19.862\nSuccessful transactions:        1000\nFailed transactions:               0\nLongest transaction:            2561 ms\n90th percentile:                2298 ms\n50th percentile:                2023 ms\nShortest transaction:            924 ms\n```\n\n### go - `net/http`, `resize`\n```\nTransactions:                   1000\nAvailability:                    100 %\nElapsed time:                101.132 s\nResponse time:              2013.973 ms\nTransaction rate:              9.888 trans/sec\nAverage Concurrency:          19.916\nSuccessful transactions:        1000\nFailed transactions:               0\nLongest transaction:            2616 ms\n90th percentile:                2245 ms\n50th percentile:                2015 ms\nShortest transaction:           1032 ms\n```\n\n### scala - `scrimage`\n```\nTransactions:                   1000\nAvailability:                    100 %\nElapsed time:                114.436 s\nResponse time:              2270.326 ms\nTransaction rate:              8.739 trans/sec\nAverage Concurrency:          19.851\nSuccessful transactions:        1000\nFailed transactions:               0\nLongest transaction:            5089 ms\n90th percentile:                2806 ms\n50th percentile:                2211 ms\nShortest transaction:            877 ms\n```\n\n### go - `net/http`, `imaging`\n```\nTransactions:                   1000\nAvailability:                    100 %\nElapsed time:                125.609 s\nResponse time:              2500.344 ms\nTransaction rate:              7.961 trans/sec\nAverage Concurrency:          19.908\nSuccessful transactions:        1000\nFailed transactions:               0\nLongest transaction:            4525 ms\n90th percentile:                2976 ms\n50th percentile:                2442 ms\nShortest transaction:           1553 ms\n```\n\n### node.js - `gm` (`imagemagick`)\n```\nTransactions:                   1000\nAvailability:                    100 %\nElapsed time:                143.351 s\nResponse time:              2856.359 ms\nTransaction rate:              6.976 trans/sec\nAverage Concurrency:           19.93\nSuccessful transactions:        1000\nFailed transactions:               0\nLongest transaction:            3355 ms\n90th percentile:                3018 ms\n50th percentile:                2848 ms\nShortest transaction:           1810 ms\n```\n\n### node.js - `jimp`\n```\nTransactions:                    221\nAvailability:                    100 %\nElapsed time:                122.542 s\nResponse time:             10018.122 ms\nTransaction rate:              1.803 trans/sec\nAverage Concurrency:          19.597\nSuccessful transactions:         221\nFailed transactions:               0\nLongest transaction:           29603 ms\n90th percentile:               19821 ms\n50th percentile:                8072 ms\nShortest transaction:           3092 ms\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrickhulce%2Fis-node-enough","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatrickhulce%2Fis-node-enough","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrickhulce%2Fis-node-enough/lists"}