feat: add map benchmark scripts for lua, python, ruby, and wren

Add four new benchmark scripts (maps.lua, maps.py, maps.rb, maps.wren) that measure
hash map insertion, lookup, and deletion performance across 100,000 elements.
Register the new "maps" benchmark in run_bench.py with expected output 5000050000.
This commit is contained in:
Marco Lizza
2015-02-09 10:51:09 +00:00
parent f5def0e3ca
commit 16c13765de
5 changed files with 79 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
local start = os.clock()
local map = {}
for i = 1, 100000 do
map[i] = i
end
local sum = 0
for i = 1, 100000 do
sum = sum + map[i]
end
io.write(string.format("%d\n", sum))
for i = 1, 100000 do
map[i] = nil
end
io.write(string.format("elapsed: %.8f\n", os.clock() - start))
+20
View File
@@ -0,0 +1,20 @@
from __future__ import print_function
import time
map = {}
start = time.clock()
for i in range(1, 100001):
map[i] = i
sum = 0
for i in range(1, 100001):
sum = sum + map[i]
print(sum)
for i in range(1, 100001):
del map[i]
print("elapsed: " + str(time.clock() - start))
+19
View File
@@ -0,0 +1,19 @@
map = Hash.new
start = Time.now
for i in (1..100000)
map[i] = i
end
sum = 0
for i in (1..100000)
sum = sum + map[i]
end
puts sum
for i in (1..100000)
map.delete(i)
end
puts "elapsed: " + (Time.now - start).to_s
+19
View File
@@ -0,0 +1,19 @@
var start = IO.clock
var map = {}
for (i in 1..100000) {
map[i] = i
}
var sum = 0
for (i in 1..100000) {
sum = sum + map[i]
}
IO.print(sum)
for (i in 1..100000) {
map.remove(i)
}
IO.print("elapsed: ", IO.clock - start)