Skip to content

feature: Built-in Profiler for Performance Analysis #39

@dcrawl

Description

@dcrawl

I'd like to request a built-in profiler for Mini Micro to help analyze and optimize performance, especially as projects grow in complexity.

Here are some suggested features that would make the profiler especially valuable:

  • Function-Level Timing: Track execution time per function or script block, including call count and average time.
  • Call Graph Visualization: Show which functions call which others, with timing data to identify bottlenecks.
  • Frame Time Breakdown: Display how much time is spent per frame in scripting, rendering (text, pixel, sprite, color layers), input, and audio.
  • Memory Usage Tracking: Monitor memory allocation and garbage collection events.
  • Layer-Specific Performance: Provide timing data for each display layer, useful for engines supporting multiple layers.
  • Script Hotspots: Highlight lines or blocks of code that consume the most CPU time.
  • Real-Time & Historical Views: Option to view profiler data live and save sessions for later review.
  • Custom Profiling Tags: Allow developers to insert markers in code to measure specific sections.
  • Debugger Integration: Show profiler data alongside breakpoints and variable watches.
  • Minimal Overhead Mode: Lightweight profiling for performance-critical testing.

I know it's a huge ask. I’ll leave what you think is doable up to you. Thanks for considering this — I think it would be a fantastic addition to Mini Micro!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions