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:
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user