enRoute Blog
enRoute Blog

Innovation & Mobility blog by af83

Langue


Catégories


Suivez-nous


Chouette Sprint #23 : Optimisations de l’import GTFS

François MarceauFrançois Marceau

Des optimisations, et pas des moindres !

Sur ce Sprint, l’équipe Chouette s’est concentrée, comme pour le Sprint #16​ (octobre 2018) sur l’import GTFS. En effet, c’est souvent la base de travail de nos nouveaux utilisateurs, qui arrivent avec une offre déjà a minima partielle. Lors des précédents Sprints, nous avons construit dans Chouette un ​import​ significativement plus ​permissif et robuste​. Contrairement à une logique de ​validation dure​, nous permettons l’​écriture de données même partielles​, si certaines données sont illisibles. Il est aussi plus permissif au sens du respect de la norme : celle-ci étant assez vague sur certains points, il y a plusieurs façons d’écrire un fichier GTFS. Il est donc évident qu’il faille plusieurs façons de le lire.

Un import jusqu’à 25 fois plus rapide

Avant ce sprint, l’import GTFS d’une offre même moyenne prenait jusqu’à plusieurs heures… Beaucoup trop long pour un travail continu. Après nous être fixé des ​objectifs de temps et de performances​, nous avons pu identifier les freins à l’accélération de cet import, puis les lever : nous importons désormais les ​stop_times par lot et calculons les signatures métiers, concept essentiel au fonctionnement de la finalisation, qu’une fois l’import terminé. Ces deux étapes, jusqu’alors très chronophage, ont permis de ​diviser le temps d’import​ entre​ 15 et 25 fois​ lors de nos essais, permettant l’import d’une offre 8moyenne en quelques minutes seulement. C’est ce qu’il fallait pour permettre un travail continu dans Chouette, pour les processus basés sur l’import de données.

Le changelog du Sprint #23 est disponible ici, au format PDF (700Ko)

Commentaires 0
Aucun commentaire pour l'instant