Performance Measurement

Measure performance before and after changes to identify bottlenecks.

1|Updated Apr 16, 2026
One-click install
npx skills add https://github.com/melissa-pereira-deel/creative-technologist-agent --skill performance-measurement
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Performance Measurement
Source: https://github.com/melissa-pereira-deel/creative-technologist-agent/tree/main/skills/performance-measurement
Command: npx skills add https://github.com/melissa-pereira-deel/creative-technologist-agent --skill performance-measurement

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Carmack's discipline: never optimize without measuring. Instruments, signposts, budgets, thermal management, profiling methodology. Trigger on: 'it feels slow', 'where is the bottleneck?', profiling, Instruments, 'CPU usage is high', 'memory leak', frame drops, 'battery drain', thermal throttling, performance budget, 'how do I measure?', Time Profiler, Allocations, os_signpost, MetricKit.

Core Features & Use Cases

  • Establish performance budgets before optimizing: total budget derived from target FPS, decompose into subcomponents such as rendering, preprocessing, inference, and UI updates
  • Provide instrumentation templates and measurement methodologies (Time Profiler, Allocations, os_signpost, MetricKit)
  • Guidance on thermal management, warm-up, aggregation, and reporting (p50/p95) to support production-grade performance
  • Real-world scenarios: ensuring features stay within budgets in both lab profiling and field use

Quick Start

Run a baseline profile on your target workflow using Time Profiler and review allocations to identify the top bottleneck

Frequently Asked Questions about Performance Measurement

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I establish a performance budget before optimizing UI responsiveness or inference pipelines?

To establish a performance budget, derive a total budget from your target FPS and decompose it into subcomponents like rendering, preprocessing, inference, and UI updates. This ensures you measure specific bottlenecks before making optimizations.

What's the best way to profile CPU usage and memory allocations to find software bottlenecks?

The best way to find bottlenecks is running a baseline profile using Time Profiler and reviewing Allocations. This methodology identifies the exact CPU usage and memory allocation issues causing frame drops or slow performance before you optimize.

How do I use os_signpost and MetricKit for production monitoring on desktop and mobile platforms?

You can use os_signpost and MetricKit for production monitoring by applying provided instrumentation templates. These tools track thermal management, battery drain, and field performance across desktop and mobile platforms to ensure reliable measurements.

Can I measure p50 and p95 latency metrics for background tasks without a disciplined warm-up?

No, measuring p50/p95 metrics requires a disciplined warm-up and aggregation methodology. Without warm-up, initial cold-start anomalies skew your performance measurements, preventing reliable reporting for background tasks and inference pipelines.

Why does my software feel slow even when CPU usage profiling shows no obvious bottlenecks?

Software may feel slow due to thermal throttling or memory leaks not visible in basic CPU usage profiling. Comprehensive performance measurement using Allocations and thermal management instrumentation identifies these hidden bottlenecks before you optimize.