|
@@ -21,33 +21,31 @@ class Benchmark < Application
|
|
|
|
|
|
# Postgres Test 2: Single database query
|
|
|
get "/db", :db do
|
|
|
- results = {} of Symbol => Int32
|
|
|
- if world = World.find(Random.rand(ID_MAXIMUM).succ)
|
|
|
- results = {id: world.id, randomNumber: world.randomnumber}
|
|
|
- end
|
|
|
-
|
|
|
+ world = World.find(Random.rand(1..ID_MAXIMUM))
|
|
|
+ results = {id: world.id, randomNumber: world.randomnumber}
|
|
|
render json: results
|
|
|
end
|
|
|
|
|
|
# Postgres Test 3: Multiple database query
|
|
|
get "/queries", :queries do
|
|
|
results = (1..get_query_count).map do
|
|
|
- if world = World.find(Random.rand(ID_MAXIMUM).succ)
|
|
|
- {id: world.id, randomNumber: world.randomnumber}
|
|
|
- end
|
|
|
+ world = World.find(Random.rand(1..ID_MAXIMUM))
|
|
|
+ {id: world.id, randomNumber: world.randomnumber}
|
|
|
end
|
|
|
-
|
|
|
render json: results
|
|
|
end
|
|
|
|
|
|
# Postgres Test 5: Database Updates
|
|
|
get "/updates", :updates do
|
|
|
results = (1..get_query_count).map do
|
|
|
- if world = World.find(Random.rand(ID_MAXIMUM).succ)
|
|
|
- world.randomnumber = Random.rand(ID_MAXIMUM).succ
|
|
|
- world.save
|
|
|
- {id: world.id, randomNumber: world.randomnumber}
|
|
|
+ world = World.find(Random.rand(1..ID_MAXIMUM))
|
|
|
+ random_number = Random.rand(1..ID_MAXIMUM)
|
|
|
+ while random_number == world.randomnumber
|
|
|
+ random_number = Random.rand(1..ID_MAXIMUM)
|
|
|
end
|
|
|
+ world.randomnumber = random_number
|
|
|
+ world.save!
|
|
|
+ {id: world.id, randomNumber: random_number}
|
|
|
end
|
|
|
|
|
|
render json: results
|
|
@@ -55,16 +53,12 @@ class Benchmark < Application
|
|
|
|
|
|
# Postgres Test 4: Fortunes
|
|
|
FORTUNE_MESSAGE = "Additional fortune added at request time."
|
|
|
- FORTUNE_CTYPE = "text/html; charset=UTF-8"
|
|
|
+ FORTUNE_CTYPE = "text/html; charset=UTF-8"
|
|
|
|
|
|
get "/fortunes", :fortunes do
|
|
|
- fortune = Fortune.new
|
|
|
- fortune.id = 0
|
|
|
- fortune.message = FORTUNE_MESSAGE
|
|
|
-
|
|
|
- fortunes = Fortune.all
|
|
|
- fortunes << fortune
|
|
|
- fortunes.sort_by! { |fortune| fortune.message || "" }
|
|
|
+ fortunes = Fortune.all.to_a
|
|
|
+ fortunes << Fortune.new(id: 0, message: FORTUNE_MESSAGE)
|
|
|
+ fortunes.sort_by!(&.message)
|
|
|
|
|
|
# by default this would have been returned as text/html
|
|
|
response.content_type = FORTUNE_CTYPE
|