Des gains sur la vitesse d’exécution – Cas client Sercel
80% de gains sur la vitesse d’exécution d’une application embarquée
C’est le résultat obtenu à la suite d’une Analyse réalisée sur une partie de code d’un produit de Sercel, leader mondial dans la conception et la fabrication d’équipements sismiques innovants et d’instruments de surveillance des réservoirs.
Nous avons pu ensuite mesurer le temps d’exécution sur le code de référence, en tenant compte de la cible matérielle (microcontrôleur de type STM32).
Optimisation sans et avec compromis de qualité
Une première optimisation, sans aucun compromis sur la qualité en sortie de l’application, a permis de réduire de 72% le temps d’exécution, malgré les optimisations déjà réalisées par le compilateur !
Mais la nature des fonctions, révélées par l’audit, nous laissaient penser que l’on pouvait aller plus loin. Les estimations réalisées permettraient, si le code était optimisé, d’obtenir une réduction du temps d’exécution d’en moyenne 80% !
A travers un diagnostic de ce type, nous pouvons permettre à des équipes :
. de mieux comprendre la nature du code pouvant être retravaillé pour des potentiels gains avec des métriques,
. d’apprécier et chiffrer des gains
. et d’optimiser le code en question.
Révéler les gains insoupçonnés sur des produits existants
Cette expérimentation avec le Pôle Software de Sercel illustre ce en quoi nous croyons chez WedoLow : les applications embarquées recèlent des potentiels de gains incroyables mais peu perceptibles et/ou pas toujours évidents à obtenir. Il faut réussir à les détecter, les dévoiler et les quantifier. Il faut pouvoir les chiffrer, apporter des métriques pour aider à la décision, pour ensuite opérer l’optimisation en tant que telle.
Plus facile à dire qu’à faire pour un grand nombre d’applications. Et notamment, comme ici, sur des produits existants et commercialisés. Les logiciels embarqués sont opérationnels et remplissent très bien leur mission sur le plan fonctionnel. Pour autant, il est possible d’aller gagner de la performance et de l’efficience.
In fine, cela se traduit concrètement sur le produit et pour les clients finaux : moins de consommation d’énergie grâce à l’optimisation = plus d’autonomie sur les batteries = une mise en oeuvre plus performante sur le terrain avec moins d’interventions pour remonter les équipements et les recharger.
C’est ce qui nous anime, permettre aux équipes de développement de rendre leurs produits plus durables, plus efficaces, autonomes plus longtemps et moins consommateurs d’énergie en intégrant l’optimisation algorithmique d’applications embarquées dans leur process de développement.
Merci à Nicolas Carré, Clément Subtil, Thierry Adragna et Emeric Menanteau d’Axandus pour cette première collaboration.
Si vous avez également des interrogations sur le potentiel de gains de votre application, on en parle quand vous voulez.