# Benchmark results

_240 measurements across 80 cells_

## `/articles`

| target | workers | req/sec | p50 (ms) | p99 (ms) | RSS (MB) | req/sec/GB |
|--------|--------:|--------:|---------:|---------:|---------:|-----------:|
| crystal | 1 | 19213 | 3.30 | 3.84 | 22 | 890161 |
| csharp | 1 | 40362 | 1.26 | 4.69 | 127 | 325920 |
| csharp-aot | 1 | 43367 | 1.27 | 4.68 | 73 | 610204 |
| elixir | 1 | 6115 | 10.33 | 15.81 | 135 | 46434 |
| go | 1 | 8420 | 7.20 | 18.77 | 34 | 256641 |
| jruby | 1 | 28326 | 2.13 | 4.42 | 939 | 30880 |
| kotlin | 1 | 56400 | 0.92 | 4.56 | 600 | 96333 |
| python | 1 | 4921 | 12.90 | 13.63 | 81 | 62339 |
| rails | 1 | 333 | 186.11 | 355.60 | 316 | 1079 |
| rails-int | 1 | 340 | 181.35 | 375.90 | 295 | 1182 |
| rails-jruby | 1 | 1128 | 52.67 | 75.00 | 1091 | 1058 |
| ruby | 1 | 3556 | 18.30 | 21.99 | 126 | 28973 |
| ruby-int | 1 | 2664 | 24.24 | 28.59 | 103 | 26587 |
| rust | 1 | 53670 | 1.16 | 2.17 | 17 | 3173760 |
| spinel | 1 | 9879 | 6.41 | 7.16 | 12 | 845741 |
| swift | 1 | 20078 | 2.98 | 5.89 | 44 | 462554 |

## `/articles/1`

| target | workers | req/sec | p50 (ms) | p99 (ms) | RSS (MB) | req/sec/GB |
|--------|--------:|--------:|---------:|---------:|---------:|-----------:|
| crystal | 1 | 25429 | 2.41 | 3.20 | 27 | 975420 |
| csharp | 1 | 53709 | 0.97 | 4.05 | 128 | 431215 |
| csharp-aot | 1 | 54334 | 1.01 | 4.32 | 75 | 740639 |
| elixir | 1 | 13508 | 4.64 | 8.44 | 137 | 101316 |
| go | 1 | 8695 | 7.00 | 16.41 | 35 | 255017 |
| jruby | 1 | 36712 | 1.66 | 3.84 | 995 | 37796 |
| kotlin | 1 | 66831 | 0.77 | 3.81 | 717 | 95468 |
| python | 1 | 6239 | 10.08 | 10.85 | 81 | 78770 |
| rails | 1 | 326 | 190.36 | 412.09 | 325 | 1028 |
| rails-int | 1 | 328 | 188.56 | 467.00 | 304 | 1102 |
| rails-jruby | 1 | 1057 | 55.79 | 81.17 | 1152 | 940 |
| ruby | 1 | 3816 | 16.93 | 20.89 | 134 | 29056 |
| ruby-int | 1 | 3032 | 21.39 | 26.10 | 122 | 25475 |
| rust | 1 | 77324 | 0.75 | 2.51 | 18 | 4448088 |
| spinel | 1 | 11794 | 5.35 | 6.05 | 12 | 1013385 |
| swift | 1 | 21909 | 2.66 | 6.18 | 47 | 479131 |

## `/articles/new`

| target | workers | req/sec | p50 (ms) | p99 (ms) | RSS (MB) | req/sec/GB |
|--------|--------:|--------:|---------:|---------:|---------:|-----------:|
| crystal | 1 | 51283 | 1.16 | 1.72 | 23 | 2256025 |
| csharp | 1 | 95088 | 0.44 | 3.36 | 128 | 761765 |
| csharp-aot | 1 | 105812 | 0.43 | 2.84 | 76 | 1420962 |
| elixir | 1 | 46242 | 1.22 | 4.03 | 138 | 342714 |
| go | 1 | 11187 | 2.88 | 47.66 | 35 | 326836 |
| jruby | 1 | 52648 | 1.17 | 3.10 | 998 | 53994 |
| kotlin | 1 | 138022 | 0.34 | 2.34 | 765 | 184807 |
| python | 1 | 9531 | 6.60 | 7.26 | 81 | 120308 |
| rails | 1 | 475 | 130.87 | 231.12 | 328 | 1483 |
| rails-int | 1 | 488 | 127.28 | 226.62 | 313 | 1596 |
| rails-jruby | 1 | 1757 | 32.73 | 52.93 | 1202 | 1497 |
| ruby | 1 | 5375 | 11.78 | 16.11 | 152 | 36206 |
| ruby-int | 1 | 4296 | 14.98 | 19.75 | 131 | 33527 |
| rust | 1 | 105618 | 0.46 | 1.57 | 19 | 5811151 |
| spinel | 1 | 19413 | 3.27 | 3.80 | 12 | 1690142 |
| swift | 1 | 25490 | 2.15 | 8.31 | 49 | 531973 |

## `/articles.json`

| target | workers | req/sec | p50 (ms) | p99 (ms) | RSS (MB) | req/sec/GB |
|--------|--------:|--------:|---------:|---------:|---------:|-----------:|
| crystal | 1 | 28323 | 2.18 | 2.89 | 23 | 1283010 |
| csharp | 1 | 54556 | 0.98 | 4.22 | 129 | 433851 |
| csharp-aot | 1 | 54932 | 1.01 | 3.41 | 75 | 753807 |
| elixir | 1 | 18271 | 3.43 | 6.76 | 141 | 133040 |
| go | 1 | 20439 | 2.89 | 7.88 | 37 | 561422 |
| jruby | 1 | 38552 | 1.59 | 3.60 | 1013 | 38988 |
| kotlin | 1 | 65616 | 0.79 | 4.03 | 859 | 78222 |
| python | 1 | 9131 | 6.99 | 7.37 | 81 | 115258 |
| rails | 1 | 609 | 105.30 | 114.19 | 331 | 1885 |
| rails-int | 1 | 624 | 102.25 | 122.14 | 317 | 2018 |
| rails-jruby | 1 | 895 | 69.02 | 93.04 | 1321 | 694 |
| ruby | 1 | 4198 | 15.45 | 21.67 | 156 | 27630 |
| ruby-int | 1 | 3148 | 20.54 | 27.04 | 134 | 24051 |
| rust | 1 | 85188 | 0.69 | 1.87 | 19 | 4614930 |
| spinel | 1 | 13548 | 4.69 | 5.34 | 12 | 1121074 |
| swift | 1 | 38428 | 1.56 | 2.91 | 50 | 780366 |

## `/articles/1.json`

| target | workers | req/sec | p50 (ms) | p99 (ms) | RSS (MB) | req/sec/GB |
|--------|--------:|--------:|---------:|---------:|---------:|-----------:|
| crystal | 1 | 52765 | 1.16 | 1.58 | 24 | 2274250 |
| csharp | 1 | 94022 | 0.48 | 3.17 | 130 | 742491 |
| csharp-aot | 1 | 104096 | 0.45 | 2.53 | 76 | 1409151 |
| elixir | 1 | 28064 | 2.20 | 4.41 | 139 | 207389 |
| go | 1 | 36774 | 1.53 | 7.22 | 37 | 1010490 |
| jruby | 1 | 52173 | 1.17 | 2.95 | 1013 | 52759 |
| kotlin | 1 | 106199 | 0.44 | 2.70 | 879 | 123653 |
| python | 1 | 10457 | 6.03 | 6.66 | 81 | 131994 |
| rails | 1 | 976 | 67.86 | 192.94 | 365 | 2735 |
| rails-int | 1 | 957 | 66.72 | 155.82 | 352 | 2781 |
| rails-jruby | 1 | 1202 | 49.99 | 72.99 | 1323 | 931 |
| ruby | 1 | 5604 | 11.65 | 14.86 | 155 | 37043 |
| ruby-int | 1 | 4237 | 14.95 | 24.23 | 139 | 31264 |
| rust | 1 | 153777 | 0.34 | 1.01 | 19 | 8320273 |
| spinel | 1 | 22199 | 0.51 | 2.35 | 13 | 1767744 |
| swift | 1 | 43799 | 1.15 | 4.79 | 51 | 887026 |

