Time Nick Message 17:02 sfan5 In case anyone was wondering what it looks like when you give 10 players with random_input random items to mess around in creative https://0x0.st/oAnb.png 17:02 sfan5 https://0x0.st/oAnc.png but wait there's more 17:06 Krock the outcome is also pretty random 17:13 erle sfan5 what was your goal there, finding crashes or something? 17:13 erle or just playing around 17:14 sfan5 load testing 17:14 celeron55 random_input with random items is a surprisingly good fuzz test 17:14 celeron55 something more organized would probably be much more efficient though 17:46 sfan5 if appears 35% of time in LuaEntitySAO::step() is spent inside l_get_properties, that's pretty bad 17:46 sfan5 the item entity calls this every step 17:46 sfan5 s/^if/it/ 17:47 sfan5 to retrieve a single property, of course 17:48 MTDiscord the fundamental problem here is the Lua - C struct duality 17:48 Krock seems logical to me that it spends 33% of the time when there's only like 3 functions to process 17:48 MTDiscord the data structures are constantly converted back and forth 17:48 MTDiscord Krock: the problem is that it has to fill the entire property table each time it's called 17:48 sfan5 okay true 17:48 MTDiscord even if usually only a single property is needed 17:48 Krock measure the effective time, and not percentages. 17:48 MTDiscord true 17:49 MTDiscord by measuring percentages Festus managed to create a virtual performance problem with player_api that just isn't there 17:49 sfan5 3.764E+08 (35.8%) aggregated sample costs in ObjectRef::l_get_properties(lua_State*) (minetest) and below 17:49 sfan5 so how do I convert that to seconds 17:50 Krock you'd need a reference average execution time of the entire function 17:51 Krock de facto a ScopeProfiler within the cpp file 17:52 erle something more organized would probably be much more efficient though 17:52 erle celeron55 which for me leads directly to the question of “which CSMs from waspsaliva would help debugging in minetest” 17:53 erle sfan5 how do you profile, like with what tooling? 17:53 sfan5 perf 17:56 erle thx 18:05 erle sfan5 which perf subcommand shows function time? can't seem to find any 18:05 sfan5 tell me when you find out 18:13 erle perf record --call-graph fp $COMMAND; perf report 18:30 erle if i am interpreting this correctly, starting minetest, loading mineclonia, then exiting the game after walking around a tiny bit and noticing perf does not make it slow down to a crawl results in about 2% of the entire execution time was spent doing useless SHA1 stuff 18:46 celeron55 useless? 18:46 celeron55 i guess it's checking that the cache is consistent 18:46 celeron55 could of course make that optional 18:47 celeron55 or shortcut it altogether in singleplayer 19:17 sfan5 sounds like a good idea 19:17 sfan5 will you send a PR? ;) 19:56 MTDiscord #12002 looks confirmed to me 19:56 ShadowBot https://github.com/minetest/minetest/issues/12002 -- Enabling fixed_virtual_joystick doesn't fix virtual joystick 20:01 celeron55 sfan5: yes just give me... a decade 21:00 sfan5 apparently the client spends roughly identical time on rendering as on deallocating MapBlockMesh objects 21:00 sfan5 (in my stress test conditions) 21:01 sfan5 std::map, std::map > this does not look efficient 21:01 erle wsor i made a new tiny mod! https://content.minetest.net/packages/erlehmann/mcl_polished_stone_stairs/ 21:02 erle (polished stone stairs are the only stairs missing from mcl* games … because they are not in minecraft) 21:14 sfan5 eh it's not that bad, peak I've seen is 3% of time spent in ~MapBlockMesh() 21:14 sfan5 might make a different on low-end devices though? 21:38 erle sfan5 how to stress test this? fly in a straight line? 21:38 sfan5 produce the situation in my screenshots earlier 22:05 sfan5 after refactoring the code I have managed to decrease performance 22:05 sfan5 this must mean the measuring is wrong 22:22 Eytirth I am having errors with books_rx, safety deposit and related mods, my errors: https://pastebin.com/iNkUmDhP 23:28 settl3r[m] Is there a tool with which i can locate single trees (such as rubber tree) in my local world? 23:28 settl3r[m] (i already used fly+fast+noclip mode, and searched through acres of jungle, to no avail :/ ) 23:30 settl3r[m] (i only use that bit of cheating, to locate some resources which are very hard to find; normally i play this map in survival mode) 23:30 settl3r[m] (and i don't want to outright cheat these resources out of nothing, as that would totally kill my (rest of) immersion) 23:32 settl3r[m] can i locate rubber trees with WorldEdit? (without changing anything) 23:32 settl3r[m] * changing anything in my survival world) 23:33 settl3r[m] * bit of (information-gathering-)cheating, to 23:34 settl3r[m] so i only need a way to get information in creative mode, not ways to summon that stuff 23:34 settl3r[m] * information in (the creative mode, * creative mode copy of) that map, not 23:34 settl3r[m] * so i only need a way to get information in (the creative-mode copy of) that map, not ways to summon that stuff 23:34 settl3r[m] * so i only need a way to get information in (the creative-mode-copy of) that map, not ways to summon that stuff 23:40 settl3r[m] * so i only need a way to get information in (the creative-mode of) that map, not ways to summon that stuff 23:40 settl3r[m] * information in (the creative mode, * creative mode of) that map, not 23:42 settl3r[m] (I need that rubber, to craft MV cables, using technic mod)