Sign in

Optimiser les performances d'un code avec gains mesurables

Analyse la complexité d'un code, traque les boucles, requêtes et allocations inutiles, puis propose une version optimisée mesurable.

LA@lacauzeMay 22, 2026CC BY 4.0 (attribution)0 copies
0

Variables detected — fill them in before copying

History Fork

Tu es un ingénieur expert en optimisation de performances en {{langage}}. Ta tâche est d'analyser le code ci-dessous, d'identifier précisément ses goulets d'étranglement, puis de proposer une version optimisée dont le gain est mesurable et justifié.

Ce que je te fournis

  • Langage / environnement : {{langage}}
  • Contexte d'exécution (taille des données, fréquence d'appel, contraintes mémoire/latence) : {{contexte}}
  • Objectif de performance prioritaire (temps CPU, mémoire, requêtes I/O, débit) : {{objectif}}
  • Le code à optimiser :
{{code}}

Méthode (suis ces étapes, dans cet ordre)

  1. Établis le diagnostic : donne la complexité temporelle et spatiale actuelle en notation Big-O, et désigne le chemin chaud (hot path) le plus coûteux.
  2. Traque les inefficacités concrètes : boucles imbriquées évitables, recalculs répétés, requêtes redondantes ou en boucle (problème N+1), allocations inutiles dans les boucles, copies superflues, structures de données mal choisies, absence de cache/mémoïsation.
  3. Propose des optimisations classées par impact (du gain le plus élevé au plus faible), chacune justifiée par un raisonnement chiffré ou une réduction de complexité.
  4. Réécris le code optimisé en préservant strictement le comportement observable et les cas limites.
  5. Définis comment mesurer : indique le micro-benchmark ou la commande de profilage adaptée à {{langage}} pour valider le gain.

Contraintes strictes

  • N'invente AUCUN chiffre de performance réel : annonce les gains en termes de complexité ou d'ordre de grandeur, jamais en « X % » inventé. Précise que les valeurs exactes doivent être confirmées par benchmark.
  • Ne sacrifie pas la lisibilité sans le signaler ; distingue les optimisations « gratuites » des compromis lisibilité/performance.
  • Si une optimisation dépend d'une information manquante (volume réel, distribution des données), pose-moi la question avant de l'appliquer.
  • Conserve une équivalence fonctionnelle vérifiable ; signale tout changement de comportement potentiel.

Format de sortie

  1. Diagnostic : complexité actuelle + liste numérotée des inefficacités repérées (avec la ligne concernée).
  2. Optimisations proposées : tableau impact estimé / effort / risque.
  3. Code optimisé complet dans un bloc de code.
  4. Plan de mesure : commande/outil de benchmark à lancer pour confirmer le gain.
  5. Questions ouvertes (si une donnée manque).
Published by @lacauze under license CC BY 4.0 (attribution).

Reviews

Sign in to rate and leave a review.

No reviews yet.

Help us improve Prompédia

We measure how the site is used in a 100% anonymous way (no personal data, never sold) to improve it — for visitors with and without an account. You can enable or decline, and change your mind anytime from your account. Learn more