| name | startup-time-profiler |
| description | Profile and optimize application startup time for desktop applications |
| allowed-tools | Read, Write, Edit, Bash, Glob, Grep |
| tags | ["performance","profiling","startup","optimization","desktop"] |
| graph | {"domains":["domain:software-engineering"],"specializations":["specialization:desktop-development"],"skillAreas":["skill-area:performance-monitoring-profiling","skill-area:profiling-cpu"],"roles":["role:desktop-developer","role:fullstack-engineer"],"workflows":["workflow:feature-development","workflow:release-management"]} |
startup-time-profiler
Profile and optimize application startup time, identifying bottlenecks in initialization, module loading, and rendering.
Capabilities
- Measure cold and warm start times
- Identify module loading bottlenecks
- Profile initialization phases
- Generate timeline visualizations
- Provide optimization recommendations
- Set up CI performance tracking
Input Schema
{
"type": "object",
"properties": {
"projectPath": { "type": "string" },
"framework": { "enum": ["electron", "tauri", "native"] },
"iterations": { "type": "number", "default": 5 }
},
"required": ["projectPath"]
}
Electron Startup Profiling
const startTime = Date.now();
app.on('ready', () => {
console.log(`App ready: ${Date.now() - startTime}ms`);
});
app.commandLine.appendSwitch('trace-startup');
app.commandLine.appendSwitch('trace-startup-file', 'startup-trace.json');
Optimization Techniques
- Lazy load modules
- Defer non-critical initialization
- Optimize bundle size
- Use V8 snapshots
- Preload critical resources
Benchmarks
| Metric | Good | Acceptable | Poor |
|---|
| Cold start | < 2s | < 4s | > 6s |
| Warm start | < 1s | < 2s | > 3s |
| Window visible | < 1.5s | < 3s | > 5s |
Related Skills
memory-leak-detector
bundle-size-analyzer