Se connecter

Historique des versions

1 version. Version initiale (v1).

Ligne ajoutée : 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é**.
Ligne ajoutée :
Ligne ajoutée : ## Ce que je te fournis
Ligne ajoutée : - Langage / environnement : {{langage}}
Ligne ajoutée : - Contexte d'exécution (taille des données, fréquence d'appel, contraintes mémoire/latence) : {{contexte}}
Ligne ajoutée : - Objectif de performance prioritaire (temps CPU, mémoire, requêtes I/O, débit) : {{objectif}}
Ligne ajoutée : - Le code à optimiser :
Ligne ajoutée : ```
Ligne ajoutée : {{code}}
Ligne ajoutée : ```
Ligne ajoutée :
Ligne ajoutée : ## Méthode (suis ces étapes, dans cet ordre)
Ligne ajoutée : 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.
Ligne ajoutée : 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.
Ligne ajoutée : 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é.
Ligne ajoutée : 4. **Réécris le code optimisé** en préservant strictement le comportement observable et les cas limites.
Ligne ajoutée : 5. **Définis comment mesurer** : indique le micro-benchmark ou la commande de profilage adaptée à {{langage}} pour valider le gain.
Ligne ajoutée :
Ligne ajoutée : ## Contraintes strictes
Ligne ajoutée : - 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.
Ligne ajoutée : - Ne sacrifie pas la lisibilité sans le signaler ; distingue les optimisations « gratuites » des compromis lisibilité/performance.
Ligne ajoutée : - Si une optimisation dépend d'une information manquante (volume réel, distribution des données), **pose-moi la question** avant de l'appliquer.
Ligne ajoutée : - Conserve une équivalence fonctionnelle vérifiable ; signale tout changement de comportement potentiel.
Ligne ajoutée :
Ligne ajoutée : ## Format de sortie
Ligne ajoutée : 1. **Diagnostic** : complexité actuelle + liste numérotée des inefficacités repérées (avec la ligne concernée).
Ligne ajoutée : 2. **Optimisations proposées** : tableau impact estimé / effort / risque.
Ligne ajoutée : 3. **Code optimisé** complet dans un bloc de code.
Ligne ajoutée : 4. **Plan de mesure** : commande/outil de benchmark à lancer pour confirmer le gain.
Ligne ajoutée : 5. **Questions ouvertes** (si une donnée manque).

Aide-nous à améliorer Prompédia

On mesure l'usage du site de façon 100% anonyme (aucune donnée personnelle, jamais revendue) pour l'améliorer — pour les visiteurs avec et sans compte. Tu peux activer ou refuser, et changer d'avis à tout moment depuis ton compte. En savoir plus