McRogueFace/tests/benchmarks
John McCardle ef0408e06e docs(profiling): document screenshot/PNG trap; add full-loop workload
- docs/profiling.md: new "Profiling the render path" section — headless
  step() doesn't render; automation.screenshot() forces a render but PNG
  encoding then dominates (~96% of instructions in libsfml stbi_zlib_compress),
  burying engine work. Guidance: profile update/animation with step()-only,
  subtract stbi_* for the render path. Alludes to the Hybrid Scene
  Serialization wiki proposal (QOI + UI-tree serialization) as a faster
  capture path that would also de-noise screenshot-driven profiling.
- tests/benchmarks/profile_workload.py: reusable full-loop driver (textured
  grid + moving entities + animated nested UI, forced renders). This is the
  workload that surfaced #348.

Refs #345, #348.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 21:54:39 -04:00
..
baseline Gauntlet #340: menu layout polish; commit first captured baseline; closes #340 2026-07-02 20:48:22 -04:00
gauntlet Gauntlet #340: menu layout polish; commit first captured baseline; closes #340 2026-07-02 20:48:22 -04:00
_baseline.py Phase 5.2: performance benchmark suite for grid/entity/FOV/pathfinding 2026-04-18 06:45:40 -04:00
benchmark_moving_entities.py Remove legacy string enum comparisons from InputState/Key/MouseButton, closes #306 2026-04-09 22:19:02 -04:00
benchmark_suite.py Remove camelCase module functions (setScale, findAll, getMetrics, setDevConsole), closes #304 2026-04-10 01:07:22 -04:00
dijkstra_bench.py Phase 5.2: performance benchmark suite for grid/entity/FOV/pathfinding 2026-04-18 06:45:40 -04:00
entity_scale_benchmark.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
fov_opt_bench.py Phase 5.2: performance benchmark suite for grid/entity/FOV/pathfinding 2026-04-18 06:45:40 -04:00
grid_step_bench.py Phase 5.2: performance benchmark suite for grid/entity/FOV/pathfinding 2026-04-18 06:45:40 -04:00
gridview_render_bench.py Phase 5.2: performance benchmark suite for grid/entity/FOV/pathfinding 2026-04-18 06:45:40 -04:00
issue_331_property_read_bench.py Fast path for hot property getters: stop importing mcrfpy per call; closes #331 2026-07-08 21:58:50 -04:00
layer_performance_test.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
pathfinding_bench.py Phase 5.2: performance benchmark suite for grid/entity/FOV/pathfinding 2026-04-18 06:45:40 -04:00
profile_workload.py docs(profiling): document screenshot/PNG trap; add full-loop workload 2026-07-10 21:54:39 -04:00
spatial_hash_bench.py Phase 5.2: performance benchmark suite for grid/entity/FOV/pathfinding 2026-04-18 06:45:40 -04:00
stress_test_suite.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
tcod_fov_isolated.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00
tcod_scale_test.py Timer overhaul: update tests 2026-01-03 22:44:53 -05:00