Qu'est-ce que l'analyse de performance?
Parfois qualifiée de profilage, l'analyse de la performance en ce qui concerne le génie logiciel est simplement le processus d'évaluation du fonctionnement d'un programme logiciel particulier. Ce processus commence normalement par le mode de chargement du programme et par ce qui se passe lorsque chaque étape de son utilisation est exécutée. L’analyse des performances a pour objet de s’assurer que le logiciel fonctionne avec une efficacité optimale, ainsi que d’identifier et de corriger tout problème susceptible d’affecter négativement cette efficacité.
L’analyse des performances aide également l’ingénieur à ajuster les composants de manière à aider le programme à utiliser au mieux les ressources disponibles. En évaluant les exécutions en temps réel, il est possible de déterminer si quelque chose peut être fait pour accélérer une tâche ou modifier la quantité de mémoire requise pour exécuter la tâche sans impacter négativement la fonction globale du logiciel. L'objectif final est un programme qui fonctionne correctement, rapidement et fonctionne chaque fois qu'une tâche est lancée.
L'analyse de performance est un type d'analyse de programme dynamique, ou DPA. DPA se concentre sur ce qui se passe lorsqu'un programme est en cours d'exécution, notamment sur la manière dont les ressources sont utilisées et dans quel ordre. Ceci est différent de l'analyse de code statique, qui tend à se concentrer davantage sur la manière dont le code est écrit et sur la logique de la succession des commandes. Cependant, les deux types d’analyses sont des éléments communs de l’évaluation et de l’affinement des logiciels et de leurs fonctionnalités.
L'histoire de l'analyse de programme remonte aux premières années de l'informatique. Lors du développement des premiers «cerveaux électroniques» des années 1940, diverses méthodes ont été mises en place pour tester l'efficacité de chaque fonction qu'un système donné était capable de réaliser. À mesure que la technologie progressait, la méthodologie d'évaluation du niveau de performance des logiciels fonctionnant sur divers systèmes a été affinée et est devenue quelque peu normalisée. Aujourd'hui, les architectes système et les rédacteurs de programmes logiciels utilisent l'analyse de programme pour identifier les forces et les faiblesses inhérentes à une version donnée d'un programme et pour résoudre les problèmes éventuels. Les données collectées par l'analyse des performances permettent d'éviter que ces mêmes problèmes apparaissent dans les versions ultérieures du programme.
Le processus réel d'analyse des performances peut toujours être accompli par une vérification manuelle pendant le fonctionnement actif d'un programme, ou être complété automatiquement en compilant des données à l'aide d'un profileur automatisé. Dans les deux cas, les informations capturées permettent à un éditeur de logiciel ou à un architecte de système de déterminer ce qui doit être fait pour que le programme fonctionne avec une efficacité maximale sur un système ou un réseau donné. L’analyse des performances n’est pas une tâche qui est exécutée une fois, puis considérée comme terminée. Il n’est pas inhabituel que les administrateurs système effectuent une analyse des performances de manière récurrente, car les mises à jour d’autres programmes ainsi que les modifications apportées au matériel risquent d’affecter l’efficacité du programme soumis à l’analyse.