Optimiser avec une consigne
Demandez à l’IA de repérer les chemins d’exécution lents.
Optimiser avec une consigne est une leçon Vibe Coding gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Vibe Coding, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Vibe Coding comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Measure, Don't Guess
Performance work fails when it starts with hunches. The fastest way to slow yourself down is to optimize code that was never the bottleneck.
Your assistant is excellent at optimization, but only if you point it at real evidence. This lesson is about turning measurements into precise prompts.
Profile First
Before asking for speed, ask for a profile. Have the assistant instrument the slow path and tell you where time actually goes.
Give it the symptom and the constraint, and let it propose where to measure instead of guessing at fixes.
The /search endpoint takes about 2 seconds under load. Before optimizing anything, add profiling to break down where the time goes: database queries, serialization, and external calls. Tell me which segment dominates and propose where to focus.Hunt the N+1
The most common performance killer in a vibe-coded app is the N+1 query: a loop that fires one database call per item. It feels fine with ten rows and dies at ten thousand.
Ask the assistant to find these patterns and collapse them into a single batched query or a join.
Scan the data-access layer for N+1 query patterns where we loop over results and issue a query per item. Rewrite the worst offender to use a single batched query or a join, and show the before/after query count for a list of 100 items.Index the Right Columns
A query that scans the whole table is slow no matter how clean the code is. The fix is usually an index on the columns you filter and sort by.
Share the slow query and let the assistant read the execution plan and recommend a targeted index, not a blind one on every column.
Here is a slow query and its EXPLAIN output. Recommend the minimal set of indexes to remove the sequential scan, explain the trade-off on write performance, and give me the exact migration to add them.Cache What's Expensive
Some results are costly to compute and rarely change. Caching them trades a little staleness for a large speedup.
Ask for a cache with an explicit invalidation strategy, because a cache you cannot invalidate correctly becomes a bug factory.
Add a cache layer for the product-catalog response, which is expensive to build and changes a few times a day. Use a short TTL plus explicit invalidation when a product is updated. Explain exactly when stale data could appear and how long it lasts.Move Slow Work Off the Request
Sending an email, resizing an image, or calling a third-party API inside a request makes the user wait for work they don't need to see finish.
Have the assistant move that work into a background job so the response returns immediately and the task runs reliably with retries.
The signup request blocks while sending a welcome email and provisioning resources. Move that work into a background queue so the request returns immediately. Add retries with backoff and a dead-letter path for tasks that keep failing.Paginate and Stream
Returning ten thousand rows in one response is slow to build, slow to transfer, and slow to render. Products page through data instead.
Ask for cursor-based pagination for large lists and streaming for large payloads so memory stays flat as data grows.
The list endpoint returns the entire table in one response. Add cursor-based pagination with a sane default page size and a stable sort. Make sure memory usage stays constant regardless of total row count.Set a Budget
Optimization without a target never ends. Define a performance budget so you know when you're done and when you've regressed.
Express it concretely: a p95 latency, a payload size, or a query count, and ask the assistant to keep changes inside it.
Set a performance budget for the checkout flow: p95 latency under 300ms and no more than 5 database queries per request. Review the current flow against that budget and propose the smallest set of changes to meet it.Beware Premature Optimization
Not every slow thing is worth fixing. Optimizing a path that runs once a day wastes effort and adds complexity that bites you later.
Ask the assistant to weigh impact against risk, and to leave clear code alone when the gain is negligible.
Here are five optimization ideas from the profiler. Rank them by expected impact versus the complexity and risk each one adds. Recommend which to do now, which to defer, and which to skip because the gain is too small to justify.Verify the Win
An optimization isn't real until it's measured again. The same profile that found the problem should confirm it's gone, with no new regression elsewhere.
Have the assistant re-run the benchmark and report the delta honestly, including any path that got slower.
Re-run the benchmark on /search after the changes and compare to the baseline. Report p50 and p95 before and after, the query count delta, and flag any other endpoint that regressed as a side effect.Performance Is a Loop
Speed is never finished. As usage grows, new bottlenecks appear where there were none before.
The durable skill is the loop itself: measure, target the biggest cost, change, and re-measure. Keep your prompts anchored to data and the loop keeps paying off.
Quick Check
Test your understanding of prompting for performance.
Recap
Performance by prompt means feeding the assistant evidence, not guesses. Profile first, then target N+1 queries, missing indexes, expensive uncached work, and blocking tasks that belong in the background.
Set a budget, verify each win with the same benchmark, and treat optimization as a continuous loop driven by measurement.
Questions Fréquemment Posées
La leçon « Optimiser avec une consigne » est-elle gratuite ?
Oui — le texte complet de « Optimiser avec une consigne » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Vibe Coding, passe à CoddyKit PRO. Le cours Vibe Coding comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Optimiser avec une consigne » ?
Demandez à l’IA de repérer les chemins d’exécution lents. Tu pratiques Vibe Coding avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Vibe Coding ?
Aucune expérience préalable n'est requise. Vibe Coding sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Optimiser avec une consigne » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Vibe Coding ?
Oui. Chaque leçon Vibe Coding inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Du prototype au produit
- Optimiser avec une consigne
- Ajouter la journalisation et les métriques
- Réagir aux incidents