Home

LuaProfiler

An object used to measure script performance.

Since performance is non-deterministic, these objects don't allow reading the raw time values from Lua. They can be used anywhere a LocalisedString is used, except for LuaGuiElement::add's LocalisedString arguments, LuaSurface::create_entity's text argument, and LuaEntity::add_market_item.

Attributes

valid

Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be false. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.

object_name

The class name of this object. Available even when valid is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.

Methods

reset

LuaProfiler.reset()

Call As

profiler.reset()

Call Convention

Resets the clock, also restarting it.

stop

LuaProfiler.stop()

Call As

profiler.stop()

Call Convention

Stops the clock.

restart

LuaProfiler.restart()

Call As

profiler.restart()

Call Convention

Start the clock again, without resetting it.

add

LuaProfiler.add(other: LuaProfiler)

Call As

profiler.add(other)

Call Convention

Add the duration of another timer to this timer. Useful to reduce start/stop overhead when accumulating time onto many timers at once.

If other is running, the time to now will be added.

Parameters

divide

LuaProfiler.divide(number: double)

Call As

profiler.divide(number)

Call Convention

Divides the current duration by a set value. Useful for calculating the average of many iterations.

Does nothing if this isn't stopped.

Parameters