# campfire: Rails vs the emitted tree

_142 measurements across 48 cells_

## `/rooms/1`

| lane | req/sec | p50 (ms) | p99 (ms) | RSS (MB) | req/sec/GB |
|------|--------:|---------:|---------:|---------:|-----------:|
| rails | 1865.9 | 8.06 | 45.36 | 2683 | 1342 |
| ruby | 10727.0 | 1.30 | 13.39 | 1348 | 12080 |
| ruby-1p | 2522.2 | 6.34 | 17.79 | 225 | 13189 |
| ruby-falcon | 11143.6 | 1.25 | 3.17 | 1103 | 22018 |
| spinel | 4714.3 | 2.93 | 8.89 | 118 | 43991 |
| tobi | 7367.2 | 2.04 | 4.16 | 190 | 42166 |

_rails / ruby = 0.17x_

## `/rooms/1/messages?before=50`

| lane | req/sec | p50 (ms) | p99 (ms) | RSS (MB) | req/sec/GB |
|------|--------:|---------:|---------:|---------:|-----------:|
| rails | 1935.6 | 7.64 | 41.24 | 2767 | 1311 |
| ruby | 11647.0 | 1.19 | 16.21 | 1372 | 12825 |
| ruby-1p | 2736.4 | 5.83 | 18.63 | 227 | 14278 |
| ruby-falcon | 12265.2 | 1.14 | 2.99 | 1122 | 23168 |
| spinel | 5334.8 | 2.52 | 7.70 | 119 | 49540 |
| tobi | 11438.3 | 1.27 | 3.20 | 163 | 77130 |

_rails / ruby = 0.17x_

## `/users/me/sidebar`

| lane | req/sec | p50 (ms) | p99 (ms) | RSS (MB) | req/sec/GB |
|------|--------:|---------:|---------:|---------:|-----------:|
| rails | 3156.0 | 4.68 | 12.23 | 2880 | 1983 |
| ruby | 17188.1 | 0.86 | 2.36 | 1335 | 19599 |
| ruby-1p | 3684.3 | 4.38 | 9.24 | 263 | 16095 |
| ruby-falcon | 16966.1 | 0.61 | 10.32 | 1154 | 30155 |
| spinel | 8464.3 | 1.76 | 5.74 | 109 | 85962 |
| tobi | 12218.2 | 1.24 | 2.83 | 150 | 90014 |

_rails / ruby = 0.18x_

## `/searches?q=coffee`

| lane | req/sec | p50 (ms) | p99 (ms) | RSS (MB) | req/sec/GB |
|------|--------:|---------:|---------:|---------:|-----------:|
| rails | 1994.3 | 7.18 | 46.32 | 2830 | 1294 |
| ruby | 11474.6 | 1.21 | 15.84 | 1389 | 12333 |
| ruby-1p | 2719.0 | 5.89 | 18.20 | 231 | 14013 |
| ruby-falcon | 10296.8 | 1.20 | 4.11 | 1172 | 17698 |
| spinel | 5362.5 | 2.54 | 7.55 | 123 | 48420 |
| tobi | 7096.7 | 1.79 | 5.12 | 187 | 41435 |

_rails / ruby = 0.17x_

## `/users/{avatar}/avatar`

| lane | req/sec | p50 (ms) | p99 (ms) | RSS (MB) | req/sec/GB |
|------|--------:|---------:|---------:|---------:|-----------:|
| rails | 19409.5 | 0.72 | 2.92 | 2829 | 12510 |
| ruby | 47287.9 | 0.30 | 1.19 | 1489 | 46169 |
| ruby-1p | 12309.4 | 1.28 | 3.74 | 230 | 62670 |
| ruby-falcon | 71798.1 | 0.19 | 0.85 | 1187 | 120300 |
| spinel | 47272.6 | 0.25 | 1.35 | 121 | 439885 |
| tobi | 89261.8 | 0.14 | 0.40 | 142 | 703262 |

_rails / ruby = 0.41x_

## `{css}`

| lane | req/sec | p50 (ms) | p99 (ms) | RSS (MB) | req/sec/GB |
|------|--------:|---------:|---------:|---------:|-----------:|
| rails | 34509.2 | 0.43 | 1.56 | 2829 | 22248 |
| ruby | 52073.5 | 0.28 | 1.96 | 1656 | 43779 |
| ruby-1p | 13256.1 | 1.14 | 6.11 | 236 | 66004 |
| ruby-falcon | 89377.0 | 0.14 | 0.73 | 1179 | 150577 |
| spinel | 37719.5 | 0.31 | 1.63 | 118 | 358275 |
| tobi | 83106.2 | 0.17 | 0.57 | 142 | 654252 |

_rails / ruby = 0.66x_

## `/up`

| lane | req/sec | p50 (ms) | p99 (ms) | RSS (MB) | req/sec/GB |
|------|--------:|---------:|---------:|---------:|-----------:|
| rails | 4677.1 | 3.17 | 8.23 | 2881 | 2909 |
| ruby | 30453.3 | 0.47 | 3.11 | 1421 | 31787 |
| ruby-1p | 7475.6 | 2.15 | 4.35 | 229 | 38242 |
| ruby-falcon | 35263.6 | 0.43 | 1.53 | 1180 | 59261 |
| spinel | 25951.7 | 0.46 | 1.96 | 122 | 238313 |
| tobi | 67746.4 | 0.22 | 0.53 | 147 | 516282 |

_rails / ruby = 0.15x_

## `POST:/rooms/2/messages`

| lane | req/sec | p50 (ms) | p99 (ms) | RSS (MB) | req/sec/GB |
|------|--------:|---------:|---------:|---------:|-----------:|
| rails | 298.8 | 44.59 | 243.60 | 3270 | 146 |
| ruby | 968.3 | 15.49 | 58.51 | 2562 | 466 |
| ruby-1p | 347.7 | 45.61 | 109.43 | 519 | 726 |
| ruby-falcon | 1155.4 | 13.14 | 44.34 | 1888 | 872 |
| spinel | — | — | — | — | — |
| tobi | 1812.7 | 6.33 | 41.35 | 706 | 2672 |

_rails / ruby = 0.31x_

## What each lane rendered

A throughput number for a page that is not the same page is not
a comparison. One authenticated GET per lane per endpoint,
before any load:

| lane | endpoint | status | tags | bytes |
|---|---|--:|--:|--:|
| rails | `/rooms/1` | 200 | 3642 | 401235 |
| rails | `/rooms/1/messages?before=50` | 200 | 3375 | 367595 |
| rails | `/users/me/sidebar` | 200 | 333 | 37855 |
| rails | `/searches?q=coffee` | 200 | 3547 | 391028 |
| rails | `/users/{avatar}/avatar` | 200 | 7 | 631 |
| rails | `{css}` | 200 | 0 | 1218 |
| rails | `/up` | 200 | 2 | 73 |
| ruby | `/rooms/1` | 200 | 3642 | 398910 |
| ruby | `/rooms/1/messages?before=50` | 200 | 3375 | 367035 |
| ruby | `/users/me/sidebar` | 200 | 333 | 36084 |
| ruby | `/searches?q=coffee` | 200 | 3547 | 388721 |
| ruby | `/users/{avatar}/avatar` | 200 | 7 | 631 |
| ruby | `{css}` | 200 | 0 | 1218 |
| ruby | `/up` | 200 | 2 | 73 |
| ruby-1p | `/rooms/1` | 200 | 3642 | 398910 |
| ruby-1p | `/rooms/1/messages?before=50` | 200 | 3375 | 367035 |
| ruby-1p | `/users/me/sidebar` | 200 | 333 | 36084 |
| ruby-1p | `/searches?q=coffee` | 200 | 3547 | 388721 |
| ruby-1p | `/users/{avatar}/avatar` | 200 | 7 | 631 |
| ruby-1p | `{css}` | 200 | 0 | 1218 |
| ruby-1p | `/up` | 200 | 2 | 73 |
| ruby-falcon | `/rooms/1` | 200 | 3642 | 398910 |
| ruby-falcon | `/rooms/1/messages?before=50` | 200 | 3375 | 367035 |
| ruby-falcon | `/users/me/sidebar` | 200 | 333 | 36084 |
| ruby-falcon | `/searches?q=coffee` | 200 | 3547 | 388721 |
| ruby-falcon | `/users/{avatar}/avatar` | 200 | 7 | 631 |
| ruby-falcon | `{css}` | 200 | 0 | 1218 |
| ruby-falcon | `/up` | 200 | 2 | 73 |
| spinel | `/rooms/1` | 200 | 3642 | 398910 |
| spinel | `/rooms/1/messages?before=50` | 200 | 3375 | 367035 |
| spinel | `/users/me/sidebar` | 200 | 333 | 36084 |
| spinel | `/searches?q=coffee` | 200 | 3547 | 388721 |
| spinel | `/users/{avatar}/avatar` | 200 | 7 | 631 |
| spinel | `{css}` | 200 | 0 | 1218 |
| spinel | `/up` | 200 | 2 | 73 |
| tobi | `/rooms/1` | 200 | 3639 | 395861 |
| tobi | `/rooms/1/messages?before=50` | 200 | 3375 | 362755 |
| tobi | `/users/me/sidebar` | 200 | 330 | 37365 |
| tobi | `/searches?q=coffee` | 200 | 3544 | 385127 |
| tobi | `/users/{avatar}/avatar` | 200 | 7 | 631 |
| tobi | `{css}` | 200 | 0 | 1218 |
| tobi | `/up` | 200 | 2 | 73 |

