From a6399335dccedc17475f13a0d4a919c7bc55f445 Mon Sep 17 00:00:00 2001 From: orwell96 Date: Thu, 5 Dec 2019 13:54:49 +0100 Subject: More profiling instructions --- advtrains/trainlogic.lua | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/advtrains/trainlogic.lua b/advtrains/trainlogic.lua index 75a1e2e..8c6142d 100644 --- a/advtrains/trainlogic.lua +++ b/advtrains/trainlogic.lua @@ -239,12 +239,12 @@ function advtrains.train_ensure_init(id, train) atwarn(debug.traceback()) return nil end + + train.dirty = true + if train.no_step then return nil end advtrains.profiler:enter("train_ensure_init") - train.dirty = true - if train.no_step then return nil end - assertdef(train, "velocity", 0) --assertdef(train, "tarvelocity", 0) assertdef(train, "acceleration", 0) @@ -636,18 +636,20 @@ local callbacks_approach_node, run_callbacks_approach_node = mknodecallback("app local function tnc_call_enter_callback(pos, train_id, train, index) - --atdebug("tnc enter",pos,train_id) + advtrains.profiler:enter("tnc_node_enter_callback") local node = advtrains.ndb.get_node(pos) --this spares the check if node is nil, it has a name in any case local mregnode=minetest.registered_nodes[node.name] if mregnode and mregnode.advtrains and mregnode.advtrains.on_train_enter then mregnode.advtrains.on_train_enter(pos, train_id, train, index) end - + -- call other registered callbacks run_callbacks_enter_node(pos, train_id, train, index) + + advtrains.profiler:leave("tnc_node_enter_callback") end local function tnc_call_leave_callback(pos, train_id, train, index) - --atdebug("tnc leave",pos,train_id) + advtrains.profiler:enter("tnc_node_leave_callback") local node = advtrains.ndb.get_node(pos) --this spares the check if node is nil, it has a name in any case local mregnode=minetest.registered_nodes[node.name] if mregnode and mregnode.advtrains and mregnode.advtrains.on_train_leave then @@ -656,10 +658,12 @@ local function tnc_call_leave_callback(pos, train_id, train, index) -- call other registered callbacks run_callbacks_leave_node(pos, train_id, train, index) + + advtrains.profiler:leave("tnc_node_leave_callback") end function advtrains.tnc_call_approach_callback(pos, train_id, train, index, lzbdata) - --atdebug("tnc approach",pos,train_id, lzbdata) + advtrains.profiler:enter("tnc_node_approach_callback") local node = advtrains.ndb.get_node(pos) --this spares the check if node is nil, it has a name in any case local mregnode=minetest.registered_nodes[node.name] if mregnode and mregnode.advtrains and mregnode.advtrains.on_train_approach then @@ -668,6 +672,8 @@ function advtrains.tnc_call_approach_callback(pos, train_id, train, index, lzbda -- call other registered callbacks run_callbacks_approach_node(pos, train_id, train, index, lzbdata) + + advtrains.profiler:leave("tnc_node_approach_callback") end @@ -680,6 +686,7 @@ advtrains.te_register_on_new_path(function(id, train) end) advtrains.te_register_on_update(function(id, train) + advtrains.profiler:enter("te_update_callback") local new_index = atround(train.index) local new_end_index = atround(train.end_index) local old_index = train.tnc.old_index @@ -696,6 +703,7 @@ advtrains.te_register_on_update(function(id, train) end train.tnc.old_index = new_index train.tnc.old_end_index = new_end_index + advtrains.profiler:leave("te_update_callback") end) advtrains.te_register_on_create(function(id, train) -- cgit v1.2.3