-
-
Save Jeija/4597693 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| time_setnodes = 0 | |
| time_setnode = 0 | |
| AMOUNT = 0 | |
| function benchmark_setnodes(minp, maxp) | |
| local t1 = os.time() | |
| local nodes = {} | |
| for x=minp.x,maxp.x do | |
| for y=minp.y,maxp.y do | |
| for z=minp.z,maxp.z do | |
| table.insert(nodes, {pos = {x = x, y = y, z = z}, node = {name = "default:stone"}}) | |
| end | |
| end | |
| end | |
| minetest.env:set_nodes(nodes) | |
| local t2 = os.time() | |
| return t2-t1 | |
| end | |
| function benchmark_setnode(minp, maxp) | |
| local t2 = os.time() | |
| for x=minp.x,maxp.x do | |
| for y=minp.y,maxp.y do | |
| for z=minp.z,maxp.z do | |
| minetest.env:set_node({x=x, y=y, z=z}, {name="default:wood"}) | |
| end | |
| end | |
| end | |
| local t3 = os.time() | |
| return t3-t2 | |
| end | |
| minetest.register_craftitem("test:test", { | |
| description = "Testcraftitem", | |
| inventory_image = "default_lava.png", | |
| on_use = function(itemstack, dropper, pointed_thing) | |
| AMOUNT = AMOUNT + 1 | |
| if pointed_thing.type ~= "node" then | |
| return | |
| end | |
| local pos = pointed_thing.under | |
| local minp = {x=pos.x-50, y=pos.y+2, z=pos.z-50} | |
| local maxp = {x=pos.x+50, y=pos.y+12, z=pos.z+50} | |
| if math.random(1, 2) == 1 then | |
| thistime_setnodes = benchmark_setnodes(minp, maxp) | |
| thistime_setnode = benchmark_setnode(minp, maxp) | |
| else | |
| thistime_setnode = benchmark_setnode(minp, maxp) | |
| thistime_setnodes = benchmark_setnodes(minp, maxp) | |
| end | |
| print("Diesmal: set_nodes(): "..thistime_setnodes.."; set_node(): "..thistime_setnode) | |
| time_setnodes = time_setnodes * ((AMOUNT-1)/AMOUNT) + thistime_setnodes * (1/AMOUNT) | |
| time_setnode = time_setnode * ((AMOUNT-1)/AMOUNT) + thistime_setnode * (1/AMOUNT) | |
| print("Durchschnitt: set_nodes(): "..time_setnodes.."; set_node(): "..time_setnode) | |
| end, | |
| }) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment