suggest-optimizations

Analyze profiling data to identify optimization opportunities in performance-critical code paths.

18|5|Updated Nov 3, 2025
One-click install
npx skills add https://github.com/mvillmow/ProjectOdyssey --skill suggest-optimizations
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: suggest-optimizations
Source: https://github.com/mvillmow/ProjectOdyssey/tree/main/.claude/skills/tier-2/suggest-optimizations
Command: npx skills add https://github.com/mvillmow/ProjectOdyssey --skill suggest-optimizations

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires cProfile.

What problem does it solve?

Identifying the most impactful performance optimization strategies in complex code can be challenging without deep analysis of profiling data and algorithmic complexity.

Core Features & Use Cases

  • Bottleneck Analysis: Identifies functions or code paths consuming the most time/memory based on profiling data.
  • Optimization Recommendations: Proposes specific optimization techniques (e.g., algorithmic changes, data structure choices, caching, SIMD) with expected impact.
  • Use Case: After profiling reveals a slow function, use this skill to analyze its code and suggest concrete optimization strategies, such as using a more efficient algorithm or applying SIMD vectorization.

Quick Start

Use the suggest-optimizations skill to profile 'script.py' and identify top time-consuming functions for optimization.

Frequently Asked Questions about suggest-optimizations

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

FAQPage Schema
How do I identify performance bottlenecks in my Python code?

Performance bottlenecks are functions or code paths consuming disproportionate time or memory. Use profiling with cProfile to measure execution data, then analyze the results to pinpoint which functions deserve optimization effort and deliver the highest performance gains.

What optimization techniques should I consider after profiling reveals slow functions?

Common optimization techniques include algorithmic improvements, data structure changes, caching, and SIMD vectorization. Evaluate each candidate by expected performance impact versus implementation difficulty, then apply the highest-impact, lowest-effort optimizations first.

Can I use profiling data to guide algorithmic and data structure decisions?

Yes. Profiling reveals which data structures and algorithms consume the most resources in your actual workload. Analyze hot paths from profile output to identify opportunities for more efficient algorithms or better-suited data structures with measurable performance improvement.

How do I plan SIMD or vectorization strategies for performance-critical code?

Identify performance-critical paths using profiling, then assess whether vectorization applies—typically for numeric operations on large datasets. Plan SIMD adoption by measuring baseline performance, selecting appropriate vectorization approaches, and validating improvements against profiling benchmarks.

What's the typical workflow for moving from profiling to concrete optimization recommendations?

Profile your code with cProfile to gather execution data, identify the top time and memory consumers, analyze their implementation for optimization opportunities, propose specific techniques with expected impact and difficulty estimates, then implement and re-profile to validate improvements.