Webserver Performance Summary (Round 13)
- Based on TechEmpower's awesome benchmarks, this is a minimalistic summary.
- I tried to remove any test with warnings or errors. Because failures in a toy benchmark are damning.
- For every test I took the worst performing instance (e.g. in the plaintext test I take whichever concurrency level performs worst). This is me assuming that your application may hit the worst case scenario so it's only fair to help you judge the language performance based on that. Also, it gives developers a clear place to start improving.
- For every language I took the best performing test. It's a max of the mins.
- Source data from https://tfb-logs.techempower.com/
- Source https://github.com/ubershmekel/WebBenchmarks
- Current version has a bug because of `fortune` and `query` having probably bogus data.
Language | db | fortune | json | plaintext | query | update | Minimum |
C | 90 | 100 | 95 | 77 | 34 | 30 | 30 |
C# | 76 | 35 | 86 | 55 | 31 | 61 | 31 |
C++ | 100 | 47 | 100 | 100 | 40 | 82 | 40 |
Clojure | 82 | 36 | 80 | 38 | 30 | 23 | 23 |
Dart | 75 | 34 | 62 | 17 | 98 | 40 | 17 |
Elixir | 54 | 24 | 54 | 9 | 23 | 93 | 9 |
Go | 93 | 39 | 86 | 89 | 38 | 68 | 38 |
Groovy | 70 | 26 | 45 | 3 | 30 | 33 | 3 |
Haskell | 87 | 39 | 82 | 28 | 20 | 8 | 8 |
Java | 91 | 41 | 99 | 90 | 44 | 100 | 41 |
JavaScript | 73 | 32 | 75 | 10 | 100 | 37 | 10 |
Lua | 86 | 40 | 80 | 43 | 29 | 35 | 29 |
PHP | 56 | 26 | 47 | 0 | 30 | 30 | 0 |
Python | 73 | 28 | 72 | 9 | 19 | 33 | 9 |
Ruby | 56 | 14 | 82 | 51 | 21 | 22 | 14 |
Scala | 86 | 29 | 82 | 68 | 20 | 29 | 20 |
Ur | 88 | 41 | 92 | 33 | 13 | 21 | 13 |