mirror of
https://github.com/codeflash-ai/codeflash.git
synced 2026-05-04 18:25:17 +00:00
63 lines
3.1 KiB
Text
63 lines
3.1 KiB
Text
---
|
|
title: "Codeflash is an AI performance optimizer for Python code"
|
|
icon: "rocket"
|
|
sidebarTitle: "Overview"
|
|
keywords: ["python", "performance", "optimization", "AI", "code analysis", "benchmarking"]
|
|
---
|
|
|
|
Codeflash speeds up any Python code by figuring out the best way to rewrite it while verifying that the behavior of the code is unchanged, and verifying real speed
|
|
gains through performance benchmarking.
|
|
|
|
The optimizations Codeflash finds are generally better algorithms, opportunities to remove wasteful compute, better logic, utilizing caching and utilization of more efficient library methods. Codeflash
|
|
does not modify the system architecture of your code, but it tries to find the most efficient implementation of your current architecture.
|
|
|
|
### How to use Codeflash
|
|
|
|
<CardGroup cols={1}>
|
|
<Card title="Optimize a Single Function" icon="bullseye" href="/optimizing-with-codeflash/one-function">
|
|
Target and optimize individual Python functions for maximum performance gains.
|
|
```bash
|
|
codeflash --file path.py --function my_function
|
|
```
|
|
</Card>
|
|
|
|
<Card title="Optimize Pull Requests" icon="code-pull-request" href="/optimizing-with-codeflash/codeflash-github-actions">
|
|
Automatically find optimizations for Pull Requests with GitHub Actions integration.
|
|
```bash
|
|
codeflash init-actions
|
|
```
|
|
</Card>
|
|
|
|
<Card title="Optimize Workflows with Tracing" icon="route" href="/optimizing-with-codeflash/trace-and-optimize">
|
|
End-to-end optimization of entire Python workflows with execution tracing.
|
|
```bash
|
|
codeflash optimize myscript.py
|
|
```
|
|
</Card>
|
|
|
|
<Card title="Optimize Your Entire Codebase" icon="globe" href="/optimizing-with-codeflash/codeflash-all">
|
|
Automatically optimize all functions in your project with comprehensive analysis.
|
|
```bash
|
|
codeflash --all
|
|
```
|
|
</Card>
|
|
|
|
|
|
</CardGroup>
|
|
|
|
### How does Codeflash verify correctness?
|
|
|
|
Codeflash verifies the correctness of the optimizations it finds by generating and running new regression tests, as well as any existing tests you may already have. Codeflash tries to ensure that your
|
|
code behaves the same way before and after the optimization.
|
|
This offers high confidence that the behavior of your code remains unchanged.
|
|
|
|
### Continuous Optimization
|
|
|
|
Because Codeflash is an automated process, the main way to use it is by installing it as a GitHub action and have it optimize the new code on every pull request.
|
|
When Codeflash finds an optimization, it will ask you to review it. It will write a detailed explanation of the changes it made, and include all relevant info like % speed increase and proofs of correctness.
|
|
|
|
This is a great way to ensure that your code, your team's code and your AI Agent's code are optimized for performance before it causes a performance regression. We call this *Continuous Optimization*.
|
|
|
|
## Questions or Feedback?
|
|
|
|
Your feedback will help us make codeflash better, faster. If you have any questions or feedback, use the Intercom button in the lower right, join our [Discord](https://www.codeflash.ai/discord), or drop us a note at [contact@codeflash.ai](mailto:contact@codeflash.ai) - we read every message!
|