Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions frameworks/roda/app.rb
Original file line number Diff line number Diff line change
Expand Up @@ -54,22 +54,22 @@ class App < Roda
end

r.is('baseline11') do
total = request.params['a'].to_i + request.params['b'].to_i
total = request.GET['a'].to_i + request.GET['b'].to_i
if request.post?
total += request.body.read.to_i
end
render_plain total.to_s
end

r.is 'baseline2' do
total = request.params['a'].to_i + request.params['b'].to_i
total = request.GET['a'].to_i + request.GET['b'].to_i
render_plain total.to_s
end

r.is 'json', Integer do |count|
dataset = opts[:dataset_items]
r.halt 500, 'No dataset' unless dataset
m = (request.params['m'] || 1).to_i
m = (request.GET['m'] || 1).to_i
items = dataset.slice(0, count).map do |d|
d.merge(total: (d[:price] * d[:quantity] * m))
end
Expand All @@ -84,9 +84,9 @@ class App < Roda
end

r.is 'async-db' do
min_val = (request.params['min'] || 10).to_i
max_val = (request.params['max'] || 50).to_i
limit = (request.params['limit'] || 50).to_i.clamp(1, 50)
min_val = (request.GET['min'] || 10).to_i
max_val = (request.GET['max'] || 50).to_i
limit = (request.GET['limit'] || 50).to_i.clamp(1, 50)

rows = self.class.get_async_db&.with do |connection|
connection.exec_prepared('select', [min_val, max_val, limit])
Expand All @@ -100,9 +100,9 @@ class App < Roda

r.is 'crud/items' do
r.get do
category = request.params['category'] || 'electronics'
page = (request.params['page'] || 1).to_i
limit = (request.params['limit'] || 10).to_i
category = request.GET['category'] || 'electronics'
page = (request.GET['page'] || 1).to_i
limit = (request.GET['limit'] || 10).to_i
offset = (page - 1) * limit

rows = self.class.get_async_db&.with do |connection|
Expand Down
216 changes: 108 additions & 108 deletions site/data/results/roda.json
Original file line number Diff line number Diff line change
@@ -1,232 +1,232 @@
{
"framework": "roda",
"results": {
"async-db-1024": {
"8gbit-512": {
"framework": "roda",
"language": "Ruby",
"rps": 45326,
"avg_latency": "21.21ms",
"p99_latency": "178.80ms",
"cpu": "3243.6%",
"memory": "2.6GiB",
"connections": 1024,
"rps": 49345,
"avg_latency": "359.6us",
"p99_latency": "1225.0us",
"cpu": "1415.7%",
"memory": "7.3GiB",
"connections": 512,
"threads": 64,
"duration": "5s",
"pipeline": 1,
"bandwidth": "183.12MB/s",
"input_bw": "3.03MB/s",
"reconnects": 18465,
"status_2xx": 453260,
"bandwidth": "510.47MB/s",
"input_bw": "481.88MB/s",
"reconnects": 0,
"status_2xx": 246812,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 15749
"status_5xx": 0,
"cpu_usec": 71866988,
"cpu_per_req_us": 291.1811,
"target_rate": 50000,
"rate_ratio": 0.9869,
"p99_9_latency": "5742.0us"
},
"baseline-4096": {
"async-db-1024": {
"framework": "roda",
"language": "Ruby",
"rps": 59024,
"avg_latency": "58.82ms",
"p99_latency": "259.90ms",
"cpu": "4127.2%",
"memory": "8.4GiB",
"connections": 4096,
"rps": 34638,
"avg_latency": "27.39ms",
"p99_latency": "219.80ms",
"cpu": "2918.1%",
"memory": "2.6GiB",
"connections": 1024,
"threads": 64,
"duration": "5s",
"pipeline": 1,
"bandwidth": "5.01MB/s",
"input_bw": "4.56MB/s",
"reconnects": 0,
"status_2xx": 295124,
"bandwidth": "140.26MB/s",
"input_bw": "2.31MB/s",
"reconnects": 14271,
"status_2xx": 346382,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0
"status_5xx": 17160
},
"8gbit-512": {
"baseline-4096": {
"framework": "roda",
"language": "Ruby",
"rps": 49246,
"avg_latency": "353.0us",
"p99_latency": "1158.0us",
"cpu": "1421.8%",
"memory": "7.5GiB",
"connections": 512,
"rps": 88362,
"avg_latency": "39.53ms",
"p99_latency": "204.30ms",
"cpu": "3965.0%",
"memory": "5.3GiB",
"connections": 4096,
"threads": 64,
"duration": "5s",
"pipeline": 1,
"bandwidth": "509.45MB/s",
"input_bw": "480.92MB/s",
"bandwidth": "7.50MB/s",
"input_bw": "6.83MB/s",
"reconnects": 0,
"status_2xx": 246318,
"status_2xx": 441810,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0,
"cpu_usec": 71401395,
"cpu_per_req_us": 289.8749,
"target_rate": 50000,
"rate_ratio": 0.9849,
"p99_9_latency": "8212.0us"
"status_5xx": 0
},
"json-comp-16384": {
"framework": "roda",
"language": "Ruby",
"rps": 141124,
"avg_latency": "65.74ms",
"p99_latency": "190.80ms",
"cpu": "6181.0%",
"memory": "5.5GiB",
"rps": 143986,
"avg_latency": "64.34ms",
"p99_latency": "172.20ms",
"cpu": "6516.6%",
"memory": "5.3GiB",
"connections": 16384,
"threads": 64,
"duration": "5s",
"pipeline": 1,
"bandwidth": "188.30MB/s",
"input_bw": "10.50MB/s",
"reconnects": 23540,
"status_2xx": 705624,
"bandwidth": "192.15MB/s",
"input_bw": "10.71MB/s",
"reconnects": 23794,
"status_2xx": 719931,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0
},
"json-comp-4096": {
"framework": "roda",
"language": "Ruby",
"rps": 138864,
"avg_latency": "27.35ms",
"p99_latency": "61.30ms",
"cpu": "6364.4%",
"memory": "5.1GiB",
"rps": 145345,
"avg_latency": "25.55ms",
"p99_latency": "50.10ms",
"cpu": "6388.8%",
"memory": "5.3GiB",
"connections": 4096,
"threads": 64,
"duration": "5s",
"pipeline": 1,
"bandwidth": "185.38MB/s",
"input_bw": "10.33MB/s",
"reconnects": 25860,
"status_2xx": 694321,
"bandwidth": "194.05MB/s",
"input_bw": "10.81MB/s",
"reconnects": 27211,
"status_2xx": 726727,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0
},
"json-tls-4096": {
"framework": "roda",
"language": "Ruby",
"rps": 220055,
"avg_latency": "18.98ms",
"p99_latency": "290.84ms",
"cpu": "6420.3%",
"memory": "6.9GiB",
"rps": 225121,
"avg_latency": "18.47ms",
"p99_latency": "204.16ms",
"cpu": "6397.0%",
"memory": "7.5GiB",
"connections": 4096,
"threads": 64,
"duration": "5s",
"pipeline": 1,
"bandwidth": "758.54MB",
"bandwidth": "776.04MB",
"reconnects": 0,
"status_2xx": 1121955,
"status_2xx": 1148340,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0
},
"latency-10k-1024": {
"framework": "roda",
"language": "Ruby",
"rps": 9983,
"avg_latency": "201.4us",
"p99_latency": "636.0us",
"cpu": "189.6%",
"memory": "3.7GiB",
"rps": 9981,
"avg_latency": "203.6us",
"p99_latency": "661.0us",
"cpu": "183.4%",
"memory": "3.8GiB",
"connections": 1024,
"threads": 64,
"duration": "20s",
"pipeline": 1,
"bandwidth": "0.88MB/s",
"reconnects": 0,
"status_2xx": 199695,
"status_2xx": 199656,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0,
"cpu_usec": 38911190,
"cpu_per_req_us": 194.8531,
"cpu_usec": 37813350,
"cpu_per_req_us": 189.3925,
"target_rate": 10000,
"rate_ratio": 0.9983,
"p99_9_latency": "2811.0us"
"rate_ratio": 0.9981,
"p99_9_latency": "8332.0us"
},
"latency-1m-1024": {
"framework": "roda",
"language": "Ruby",
"rps": 366535,
"avg_latency": "6122728.6us",
"p99_latency": "13545472.0us",
"cpu": "6336.8%",
"memory": "5.4GiB",
"rps": 376003,
"avg_latency": "6075459.9us",
"p99_latency": "13561856.0us",
"cpu": "6244.3%",
"memory": "5.5GiB",
"connections": 1024,
"threads": 64,
"duration": "20s",
"pipeline": 1,
"bandwidth": "32.26MB/s",
"bandwidth": "33.09MB/s",
"reconnects": 0,
"status_2xx": 7334059,
"status_2xx": 7523468,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0,
"cpu_usec": 1254891416,
"cpu_per_req_us": 171.1046,
"cpu_usec": 1237827293,
"cpu_per_req_us": 164.5288,
"target_rate": 1000000,
"rate_ratio": 0.3665,
"rate_ratio": 0.376,
"p99_9_latency": "14790656.0us"
},
"limited-conn-4096": {
"framework": "roda",
"language": "Ruby",
"rps": 28855,
"avg_latency": "128.38ms",
"p99_latency": "292.80ms",
"cpu": "3565.1%",
"memory": "6.6GiB",
"rps": 40874,
"avg_latency": "86.40ms",
"p99_latency": "201.40ms",
"cpu": "3055.2%",
"memory": "3.1GiB",
"connections": 4096,
"threads": 64,
"duration": "5s",
"pipeline": 1,
"bandwidth": "2.45MB/s",
"input_bw": "2.23MB/s",
"reconnects": 12707,
"status_2xx": 144279,
"bandwidth": "3.47MB/s",
"input_bw": "3.16MB/s",
"reconnects": 18723,
"status_2xx": 204372,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0
},
"pipelined-4096": {
"framework": "roda",
"language": "Ruby",
"rps": 709993,
"avg_latency": "80.32ms",
"p99_latency": "149.10ms",
"cpu": "6654.9%",
"rps": 723337,
"avg_latency": "78.01ms",
"p99_latency": "164.70ms",
"cpu": "6622.1%",
"memory": "2.1GiB",
"connections": 4096,
"threads": 64,
"duration": "5s",
"pipeline": 16,
"bandwidth": "60.25MB/s",
"reconnects": 1575,
"status_2xx": 3549967,
"bandwidth": "61.38MB/s",
"reconnects": 1571,
"status_2xx": 3616686,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0
},
"static-tls-1024": {
"framework": "roda",
"language": "Ruby",
"rps": 115195,
"avg_latency": "9.22ms",
"p99_latency": "59.78ms",
"cpu": "6572.6%",
"memory": "6.1GiB",
"rps": 112821,
"avg_latency": "9.52ms",
"p99_latency": "90.15ms",
"cpu": "6553.4%",
"memory": "6.2GiB",
"connections": 1024,
"threads": 64,
"duration": "5s",
"pipeline": 1,
"bandwidth": "1.76GB",
"bandwidth": "1.73GB",
"reconnects": 0,
"status_2xx": 587513,
"status_2xx": 572649,
"status_3xx": 0,
"status_4xx": 0,
"status_5xx": 0
Expand Down
Loading