module Lapis::Profiler

Defined in:

libgodot/profiler/core/probe.cr
libgodot/profiler/core/report.cr
libgodot/profiler/core/snapshot.cr
libgodot/profiler/dsl/builder.cr
libgodot/profiler/dsl/macros.cr

Class Method Summary

Class Method Detail

def self.audit(name : String = "Hot Loop", &block : AuditBuilder -> ) #

Declares a fluent audit configuration block yielding an AuditBuilder context.

Lapis::Profiler.audit("Vector Transformation") do |audit|
  audit.iterations(50_000)
  audit.warmup(50)
  audit.assert_zero_allocation do
    v = v.cross(up).normalized
  end
end

def self.hot_loop(name : String = "Hot Loop", iterations : Int32 = 10000, warmup : Int32 = 10, max_bytes : Int64 = 0_i64, &) : AllocationReport #

Concise one-liner for measuring a hot loop with sensible defaults.

report = Lapis::Profiler.hot_loop("Slerp", iterations: 10_000) do |i|
  q3 = q1.slerp(q2, 0.5_f32)
end