Trace 1 - Benchmark OpenTBS vs OpenSpout
Comparaison mesurée entre l'ancien moteur OpenTBS et le nouveau moteur OpenSpout.
Optimisation des performances backend
Exploitation et traitement de données volumineuses
Trace 1
Benchmark du moteur d'export Cockpit
Trace 1 - Tableau de comparaison construit à partir du profiler d'export.
La Trace 1 ci-contre synthétise un benchmark réalisé sur le même export Cockpit UAP : 49 081 lignes, 12 lots et le même volume de données envoyé au backend. Elle compare l'ancien moteur OpenTBS, qui modifie un template Excel au format XLSM, avec le nouveau moteur
OpenSpout, qui produit un fichier XLSX en écrivant les lignes progressivement.
- Le moteur utilisé est indiqué dans la première colonne : OpenTBS puis OpenSpout.
- Les colonnes "Génération" et "Temps total" montrent le gain principal : 490,78 s contre 5,83 s pour la génération.
- La dernière ligne transforme les mesures en lecture métier : même volume, mais environ 48 fois moins de temps total.
La Trace 1 représente donc une preuve chiffrée de la refonte de l'export. Le problème de départ n'était pas seulement que l'export était lent : il fallait comprendre si cette lenteur venait du volume de données, du transfert, du moteur
Excel ou de l'écriture du fichier. Le tableau permet de séparer ces éléments et de montrer que le changement important est le passage d'un template complet à une génération progressive.
Dans la Trace 1, le savoir-faire optimisation des performances backend apparaît dans la manière de comparer deux solutions avec des mesures reproductibles. Je n'ai pas seulement remplacé une librairie par une autre : j'ai gardé le même cas de test, puis j'ai comparé le temps de génération et le temps total. Cette démarche permet de défendre la décision devant l'équipe, parce que le résultat ne repose pas sur une impression mais sur des mesures concrètes issues du profiler.
Le savoir-faire exploitation et traitement de données volumineuses est également visible dans la Trace 1. L'export contient plusieurs feuilles, des milliers de lignes et des lots envoyés au backend. Avec
OpenTBS, la génération dépendait fortement du chargement et de la modification d'un fichier modèle. Avec OpenSpout, le traitement devient plus adapté à de gros volumes, car les données sont écrites ligne par ligne. Dans la Trace 1, ce choix réduit à la fois le temps d'attente utilisateur et la charge côté serveur.