Module:Sandbox/GameDataTest

From Melvor Idle

Documentation for this module may be created at Module:Sandbox/GameDataTest/doc

-- Testing & benchmarking alternative to current

local p = {}

local GameData1 = mw.loadData('Module:Sandbox/GameData/data')
local GameData2 = mw.loadData('Module:Sandbox/GameData/data2')
-- Combine data into a single object
local GameData = {}
for _, data in ipairs({GameData1, GameData2}) do
	for entityType, entityData in pairs(data) do
		GameData[entityType] = entityData
	end
end

function p.benchmarkCurrentData()
	local startTime = os.clock()
	local GameData1 = mw.loadData('Module:GameData/data')
	local GameData2 = mw.loadData('Module:GameData/data2')
	-- Combine data into a single object
	local GameData = {}
	for _, data in ipairs({GameData1, GameData2}) do
		for entityType, entityData in pairs(data) do
			GameData[entityType] = entityData
		end
	end
	local endTime = os.clock()
	return 'Completed, took ' .. (endTime - startTime) .. ' seconds'
end

function p.benchmarkAlternativeData()
	local startTime = os.clock()
	local GameData1 = mw.loadJsonData('Module:Sandbox/GameData/data.json')
	local GameData2 = mw.loadJsonData('Module:Sandbox/GameData/data2.json')
	-- Combine data into a single object
	local GameData = {}
	for _, data in ipairs({GameData1, GameData2}) do
		for entityType, entityData in pairs(data) do
			GameData[entityType] = entityData
		end
	end
	local endTime = os.clock()
	return 'Completed, took ' .. (endTime - startTime) .. ' seconds'
end

return p