BaseElement
Functions
Method | Returns | Description |
---|---|---|
BaseElement:startProfile | BaseElement | Starts timing a method call |
BaseElement:endProfile | BaseElement | Ends timing a method call and records statistics |
BaseElement:benchmark | BaseElement | Enables performance measurement for a method |
BaseElement:logBenchmark | BaseElement | Logs benchmark statistics for a method |
BaseElement:stopBenchmark | BaseElement | Disables performance measurement for a method |
BaseElement:getBenchmarkStats | stats | Retrieves benchmark statistics for a method |
BaseElement:startProfile(methodName)
Starts profiling a method
Parameters
methodName
string
The name of the method to profile
Returns
BaseElement
self
The element instance
BaseElement:endProfile(methodName)
Ends profiling a method
Parameters
methodName
string
The name of the method to stop profiling
Returns
BaseElement
self
The element instance
BaseElement:benchmark(methodName)
Enables benchmarking for a method
Parameters
methodName
string
The name of the method to benchmark
Returns
BaseElement
self
The element instance
Usage
element:benchmark("render")
element:benchmark("render")
BaseElement:logBenchmark(methodName)
Logs benchmark statistics for a method
Parameters
methodName
string
The name of the method to log
Returns
BaseElement
self
The element instance
BaseElement:stopBenchmark(methodName)
Stops benchmarking for a method
Parameters
methodName
string
The name of the method to stop benchmarking
Returns
BaseElement
self
The element instance
BaseElement:getBenchmarkStats(methodName)
Gets benchmark statistics for a method
Parameters
methodName
string
The name of the method to get statistics for
Returns
stats
The
benchmark statistics or nil
Container
Extends: VisualElement
Functions
Method | Returns | Description |
---|---|---|
Container:benchmarkContainer | Container | Recursively enables benchmarking |
Container:logContainerBenchmarks | Container | Recursively logs benchmark statistics |
Container:stopContainerBenchmark | Container | Recursively stops benchmarking |
Container:benchmarkContainer(methodName)
Enables benchmarking for a container and all its children
Parameters
methodName
string
The method to benchmark
Returns
Container
self
The container instance
Usage
container:benchmarkContainer("render")
container:benchmarkContainer("render")
Container:logContainerBenchmarks(methodName)
Logs benchmark statistics for a container and all its children
Parameters
methodName
string
The method to log
Returns
Container
self
The container instance
Container:stopContainerBenchmark(methodName)
Stops benchmarking for a container and all its children
Parameters
methodName
string
The method to stop benchmarking
Returns
Container
self
The container instance
Benchmark
This is the benchmark plugin. It provides performance measurement tools for elements and methods,with support for hierarchical profiling and detailed statistics. The plugin is meant to be used for very big projectswhere performance is critical. It allows you to measure the time taken by specific methods and log the results.
Functions
Method | Returns | Description |
---|---|---|
Benchmark.start | - | Starts timing a custom operation |
Benchmark.stop | - | Stops timing and logs results |
Benchmark.getStats | stats | Retrieves benchmark statistics |
Benchmark.clear | - | Removes a benchmark's data |
Benchmark.clearAll | - | Removes all custom benchmark data |
Benchmark.start(name, options?)
Starts a custom benchmark
Parameters
name
string
The name of the benchmarkoptions
(optional)table
Optional configuration
Benchmark.stop(name)
Stops a custom benchmark
Parameters
name
string
The name of the benchmark to stop
Benchmark.getStats(name)
Gets statistics for a benchmark
Parameters
name
string
The name of the benchmark
Returns
stats
The
benchmark statistics or nil
Benchmark.clear(name)
Clears a specific benchmark
Parameters
name
string
The name of the benchmark to clear
Benchmark.clearAll()
Clears all custom benchmarks