Blank rails app with puma, serving a high_voltage static homepage (https://github.com/mjc/blankrails), warmed with 5 minutes of traffic.
MRI 2.1.2: 4 puma workers
Running 15s test @ http://localhost:3000
1 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 6.44ms 2.90ms 14.70ms 62.31%
Req/Sec 1.58k 90.72 1.86k 74.01%
23179 requests in 15.00s, 25.75MB read
Requests/sec: 1545.15
Transfer/sec: 1.72MB
1.7.13: -Xcompile.invokedynamic=false -Xcompile.mode=OFF
Running 15s test @ http://localhost:3000
1 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 5.70ms 1.61ms 20.47ms 95.71%
Req/Sec 1.82k 233.69 2.15k 85.61%
26475 requests in 15.00s, 29.41MB read
Requests/sec: 1764.81
Transfer/sec: 1.96MB
1.7.13: -Xcompile.invokedynamic=false -Xcompile.mode=JIT
Running 15s test @ http://localhost:3000
1 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 5.21ms 1.59ms 16.50ms 95.85%
Req/Sec 2.04k 297.99 2.50k 90.71%
29237 requests in 15.00s, 32.48MB read
Requests/sec: 1949.14
Transfer/sec: 2.17MB
1.7.13 torqbox 0.1.7: -Xcompile.invokedynamic=false -Xcompile.mode=OFF
Running 15s test @ http://localhost:3000
1 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 5.24ms 0.90ms 11.29ms 84.08%
Req/Sec 2.01k 206.52 2.36k 79.93%
28796 requests in 15.00s, 33.64MB read
Requests/sec: 1919.65
Transfer/sec: 2.24MB
1.7.13 torqbox 0.1.7: -Xcompile.invokedynamic=false -Xcompile.mode=JIT
Running 15s test @ http://localhost:3000
1 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 5.25ms 1.06ms 12.90ms 84.00%
Req/Sec 2.00k 235.45 2.45k 74.13%
28780 requests in 15.00s, 33.62MB read
Requests/sec: 1918.69
Transfer/sec: 2.24MB
9k 06d1326: -Xcompile.invokedynamic=false -Xcompile.mode=OFF
Running 15s test @ http://localhost:3000
1 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 8.29ms 1.33ms 30.06ms 84.08%
Req/Sec 1.24k 110.83 1.45k 76.43%
18073 requests in 15.00s, 20.08MB read
Requests/sec: 1204.86
Transfer/sec: 1.34MB
9k 06d1326: -Xcompile.invokedynamic=false -Xcompile.mode=JIT
Running 15s test @ http://localhost:3000
1 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 7.89ms 1.10ms 21.58ms 84.69%
Req/Sec 1.29k 97.62 1.50k 74.80%
18847 requests in 15.00s, 20.94MB read
Requests/sec: 1256.42
Transfer/sec: 1.40MB
9k 06d1326 torqbox 0.1.7: -Xcompile.invokedynamic=false -Xcompile.mode=OFF
Running 15s test @ http://localhost:3000
1 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 7.84ms 1.73ms 36.17ms 92.46%
Req/Sec 1.33k 128.83 1.59k 76.93%
19357 requests in 15.00s, 22.61MB read
Requests/sec: 1290.48
Transfer/sec: 1.51MB
9k 06d1326 torqbox 0.1.7: -Xcompile.invokedynamic=false -Xcompile.mode=JIT
Running 15s test @ http://localhost:3000
1 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 7.91ms 1.46ms 20.18ms 83.28%
Req/Sec 1.31k 144.46 1.55k 76.02%
19132 requests in 15.00s, 22.35MB read
Requests/sec: 1275.48
Transfer/sec: 1.49MB
Varying methods of encoding and decoding JSON (source)
MRI 2.1.2
Calculating -------------------------------------
Marshal.dump 3708 i/100ms
JSON.dump 6353 i/100ms
MultiJSON (JSON) 8827 i/100ms
Oj 34758 i/100ms
Oj compat 28611 i/100ms
MultiJSON (Oj) 9102 i/100ms
Yajl 11776 i/100ms
MultiJSON (Yajl) 9102 i/100ms
-------------------------------------------------
Marshal.dump 37754.0 (±5.7%) i/s - 189108 in 5.027165s
JSON.dump 66753.4 (±3.5%) i/s - 336709 in 5.050683s
MultiJSON (JSON) 96484.1 (±6.1%) i/s - 485485 in 5.053139s
Oj 433018.0 (±11.1%) i/s - 2154996 in 5.039276s
Oj compat 323045.0 (±6.1%) i/s - 1630827 in 5.066927s
MultiJSON (Oj) 97169.1 (±4.0%) i/s - 491508 in 5.066476s
Yajl 126062.8 (±6.3%) i/s - 635904 in 5.067090s
MultiJSON (Yajl) 99258.1 (±3.3%) i/s - 500610 in 5.049149s
1.7.13: +indy +jit
Warming up the JIT
JIT is warm.
Calculating -------------------------------------
Marshal.dump 7527 i/100ms
JSON.dump 11606 i/100ms
MultiJSON (JSON) 8796 i/100ms
JrJackson 10670 i/100ms
MultiJSON (JrJackson)
8665 i/100ms
Gson.new.encode 9064 i/100ms
gson.encode 9573 i/100ms
MultiJSON (Gson) 8637 i/100ms
-------------------------------------------------
Marshal.dump 83433.7 (±3.4%) i/s - 421512 in 5.057999s
JSON.dump 128006.3 (±4.0%) i/s - 638330 in 4.995000s
MultiJSON (JSON) 96071.4 (±2.9%) i/s - 483780 in 5.040000s
JrJackson 111926.0 (±4.6%) i/s - 565510 in 5.064000s
MultiJSON (JrJackson)
96271.7 (±2.7%) i/s - 485240 in 5.044000s
Gson.new.encode 99084.2 (±7.9%) i/s - 498520 in 5.067000s
gson.encode 100974.7 (±3.3%) i/s - 507369 in 5.030000s
MultiJSON (Gson) 95405.4 (±3.7%) i/s - 483672 in 5.077000s
1.7.13: -indy +JIT
Warming up the JIT
JIT is warm.
Calculating -------------------------------------
Marshal.dump 7753 i/100ms
JSON.dump 11127 i/100ms
MultiJSON (JSON) 9081 i/100ms
JrJackson 11077 i/100ms
MultiJSON (JrJackson)
8640 i/100ms
Gson.new.encode 10132 i/100ms
gson.encode 10299 i/100ms
MultiJSON (Gson) 8886 i/100ms
-------------------------------------------------
Marshal.dump 81010.3 (±3.0%) i/s - 410909 in 5.077000s
JSON.dump 117032.0 (±3.4%) i/s - 589731 in 5.045000s
MultiJSON (JSON) 94636.8 (±2.5%) i/s - 481293 in 5.089000s
JrJackson 114647.2 (±4.1%) i/s - 576004 in 5.033000s
MultiJSON (JrJackson)
95725.9 (±2.2%) i/s - 483840 in 5.057000s
Gson.new.encode 105672.3 (±2.9%) i/s - 536996 in 5.086000s
gson.encode 102529.2 (±4.7%) i/s - 514950 in 5.034000s
MultiJSON (Gson) 91534.8 (±3.1%) i/s - 462072 in 5.053000s
9k 06d1326: -indy -jit
Warming up the JIT
JIT is warm.
Calculating -------------------------------------
Marshal.dump 6806 i/100ms
JSON.dump 12206 i/100ms
MultiJSON (JSON) 7393 i/100ms
JrJackson 13034 i/100ms
MultiJSON (JrJackson)
7578 i/100ms
Gson.new.encode 12049 i/100ms
gson.encode 12290 i/100ms
MultiJSON (Gson) 7547 i/100ms
-------------------------------------------------
Marshal.dump 73690.1 (±5.6%) i/s - 367524 in 5.005000s
JSON.dump 142761.4 (±4.1%) i/s - 720154 in 5.053000s
MultiJSON (JSON) 83041.1 (±4.0%) i/s - 421401 in 5.083000s
JrJackson 157597.3 (±3.5%) i/s - 795074 in 5.051000s
MultiJSON (JrJackson)
82562.0 (±3.9%) i/s - 416790 in 5.056000s
Gson.new.encode 140587.3 (±3.6%) i/s - 710891 in 5.062999s
gson.encode 145434.3 (±5.2%) i/s - 737400 in 5.085000s
MultiJSON (Gson) 79831.9 (±5.1%) i/s - 399991 in 5.024000s
9k 06d1326: -indy +jit
Warming up the JIT
JIT is warm.
Calculating -------------------------------------
Marshal.dump 6743 i/100ms
JSON.dump 12994 i/100ms
MultiJSON (JSON) 8076 i/100ms
JrJackson 13812 i/100ms
MultiJSON (JrJackson)
8053 i/100ms
Gson.new.encode 12596 i/100ms
gson.encode 12765 i/100ms
MultiJSON (Gson) 8144 i/100ms
-------------------------------------------------
Marshal.dump 75022.8 (±1.9%) i/s - 377608 in 5.035000s
JSON.dump 155039.8 (±2.1%) i/s - 779640 in 5.031000s
MultiJSON (JSON) 92016.5 (±2.1%) i/s - 460332 in 5.005000s
JrJackson 169536.3 (±1.9%) i/s - 856344 in 5.053000s
MultiJSON (JrJackson)
91771.3 (±2.1%) i/s - 459021 in 5.004000s
Gson.new.encode 149427.3 (±2.1%) i/s - 755760 in 5.060000s
gson.encode 153010.9 (±1.7%) i/s - 765900 in 5.007000s
MultiJSON (Gson) 88834.4 (±3.7%) i/s - 447920 in 5.049000s
9k 06d1326: +indy -jit
Warming up the JIT
JIT is warm.
Calculating -------------------------------------
Marshal.dump 6661 i/100ms
JSON.dump 12338 i/100ms
MultiJSON (JSON) 7590 i/100ms
JrJackson 13339 i/100ms
MultiJSON (JrJackson)
7499 i/100ms
Gson.new.encode 12095 i/100ms
gson.encode 12554 i/100ms
MultiJSON (Gson) 7656 i/100ms
-------------------------------------------------
Marshal.dump 75967.8 (±1.7%) i/s - 386338 in 5.087000s
JSON.dump 146980.0 (±3.2%) i/s - 740280 in 5.042000s
MultiJSON (JSON) 86698.4 (±2.2%) i/s - 440220 in 5.080000s
JrJackson 165081.0 (±2.5%) i/s - 827018 in 5.013000s
MultiJSON (JrJackson)
86257.7 (±1.8%) i/s - 434942 in 5.044000s
Gson.new.encode 145072.1 (±2.3%) i/s - 725700 in 5.005000s
gson.encode 150760.9 (±2.3%) i/s - 753240 in 4.999000s
MultiJSON (Gson) 86614.2 (±2.3%) i/s - 436392 in 5.041000s
9k 06d1326: +indy +jit
Warming up the JIT
JIT is warm.
Calculating -------------------------------------
Marshal.dump 6636 i/100ms
JSON.dump 15599 i/100ms
MultiJSON (JSON) 9622 i/100ms
JrJackson 14025 i/100ms
MultiJSON (JrJackson)
9588 i/100ms
Gson.new.encode 12148 i/100ms
gson.encode 12423 i/100ms
MultiJSON (Gson) 9795 i/100ms
-------------------------------------------------
Marshal.dump 73177.3 (±1.8%) i/s - 371616 in 5.080000s
JSON.dump 201723.7 (±2.7%) i/s - 1013935 in 5.030000s
MultiJSON (JSON) 114309.7 (±2.9%) i/s - 577320 in 5.055000s
JrJackson 179738.7 (±2.0%) i/s - 911625 in 5.074000s
MultiJSON (JrJackson)
115801.5 (±2.2%) i/s - 584868 in 5.053000s
Gson.new.encode 147246.0 (±2.6%) i/s - 741028 in 5.036000s
gson.encode 152459.8 (±2.0%) i/s - 770226 in 5.054000s
MultiJSON (Gson) 115746.1 (±2.2%) i/s - 587700 in 5.080000s