module Lapis::Docs::H_TESTING_AND_BENCHMARKS::B_PERFORMANCE_BENCHMARKS

Overview

Performance Profiling & Benchmark Reports

Comprehensive guide to the automated Crystal vs GDScript benchmark harness, comparative speedup metrics, and publishing interactive HTML/SVG performance reports.

Executive Summary & Key Topics

Topic Method / Anchor Description
Benchmark Stress Domains .topic_00_benchmark_domains Node churn, mathematical transforms, signal routing, and worker concurrency.
Running the Benchmark Suite .topic_01_running_benchmarks Executing make benchmarks or lapis bench.

Related Guides & Source References

Defined in:

libgodot/docs/h_testing_and_benchmarks/b_performance_benchmarks.cr

Class Method Summary

Class Method Detail

def self.topic_00_benchmark_domains : Nil #

Benchmark Stress Domains: Node churn, mathematical transforms, signal routing, and worker concurrency.

Key Topics & Information

  • Node Churn Stress: 100,000 nodes spawned, reparented, and freed
  • Mathematical Transforms: 1,000,000 Vector3, Basis, and Quaternion operations
  • Signal Churn: High-frequency signal emission and fan-out
  • Multithreaded Worker: Parallel background computation and channel throughput

def self.topic_01_running_benchmarks : Nil #

Running the Benchmark Suite: Executing make benchmarks or lapis bench.

lapis bench [options]

Options:

  • --iterations=N: Number of test repetitions for statistical variance reduction.
  • --export-html=PATH: Path to write interactive dark-mode HTML report.
  • --export-svg=PATH: Path to write visual comparison bar chart SVG.
  • --diff=FILE: Compare current execution metrics against historical baseline XML.