Minetest's profiler provides insufficient granularity for doing any serious profiling. Sure, in larger games it may point you towards the culprit, but that often still is a large globalstep or mapgen function.
More often, you already know the culprit - mapgen, in our case - and want to optimize it. To do so, you need a maximum of granularity, down to every function call, every vector operation, to be able to micro-optimize the hottest spots where it matters. The LuaJIT profiler provides this granularity and this mod makes it accessible (without having to go through the hassle of reinventing this mod).
Back to mapgen: After algorithmic optimizations were exhausted, this mod allowed me to gain a 2x speedup, bringing mapgen to an acceptable performance, by confirming that certain vector operations were better off localized and helping me uncover a nasty bug in my memoization (which wasn't working).
You only have 100ms between two globalsteps; Minetest is mostly single-threaded. Taking any more time will create noticeable lag. Thus practically all mapgen, ABMs, pathfinding, mob steps, and some expensive globalsteps are performance-critical.
Adoption of this mod will hopefully cause the widespread performance issues observed across the mod landscape to slowly cease existence.
Minetest's profiler provides insufficient granularity for doing any serious profiling. Sure, in larger games it may point you towards the culprit, but that often still is a large globalstep or mapgen function.
More often, you already know the culprit - mapgen, in our case - and want to optimize it. To do so, you need a maximum of granularity, down to every function call, every vector operation, to be able to micro-optimize the hottest spots where it matters. The LuaJIT profiler provides this granularity and this mod makes it accessible (without having to go through the hassle of reinventing this mod).
Back to mapgen: After algorithmic optimizations were exhausted, this mod allowed me to gain a 2x speedup, bringing mapgen to an acceptable performance, by confirming that certain vector operations were better off localized and helping me uncover a nasty bug in my memoization (which wasn't working).
You only have 100ms between two globalsteps; Minetest is mostly single-threaded. Taking any more time will create noticeable lag. Thus practically all mapgen, ABMs, pathfinding, mob steps, and some expensive globalsteps are performance-critical.
Adoption of this mod will hopefully cause the widespread performance issues observed across the mod landscape to slowly cease existence.