Writing Rust code that's fast by asking agents to make the code faster
3 hours ago
- LLMs can significantly improve code performance via iterative optimization prompts, achieving 2x-32x speedups on Rust code.
- The 'write better code' prompt is underspecified, leading to irrelevant features; clear, measurable goals are essential.
- Agentic coding harnesses with constraints (e.g., no parallel benchmarks, no gaming) prevent cheating and ensure fair optimization.
- Rust's integration with Python via PyO3 and its speed advantages make it ideal for high-performance data science tools.
- The iterative process involves establishing a True Performance Baseline, setting pass/fail targets (e.g., 1.2x faster), and repeating until convergence.
- Using multiple model versions (e.g., Opus 4.5, GPT-5.6 Sol, GPT-6 Astra) cumulatively improves speed with each iteration.
- Optimization techniques include SIMD, loop unrolling, function fusion, and caching, but must avoid unsafe code for safety.
- Subagent review and additional breakthrough prompts can yield extra speedups (1.2-1.5x) by encouraging novel approaches.
- Benchmarking must use standard tools (e.g., criterion) and representative tests to ensure real-world relevance, not just benchmark high scores.
- Quality metrics can be maintained or improved alongside speed, as shown by achieving near-parity in UMAP outputs while being 4x-15x faster.
- The process extends beyond Rust to other domains like ASCII art and word clouds, with performance improving dramatically (e.g., 50ms to 10-20ms).
- Open-source releases are delayed to ensure robustness and avoid 'vibecoded PR' skepticism, with evidence to prove performance claims.
- Iterative optimization often converges after a few model generations, balancing speed gains with code maintainability (e.g., ~1k LoC per commit).
- The top three tags summarize the core focus on LLM-driven optimization, Rust performance, and agentic coding practices.