etalab / rncs_worker_api_entreprise

API pour récupérer et mettre à disposition les données du Répertoire National du Commerce et des Société
https://entreprise.data.gouv.fr
MIT License
23 stars 13 forks source link

TITMC unit import #62

Closed Haelle closed 5 years ago

Haelle commented 5 years ago

Contenu de la PR

Opération d'import effectif des données TITMC.

Comment faire la review

Commit par commit

Reste à faire

ajout/suppression des indexes

Problèmes de performance

Test sur le greffe: 5753, 16 646 dossiers, 2,7Mo en gras solution choisie Ça ajout un peu de complexité, il y a des commentaires là où pourquoi on fait ça n'est pas évident

mapping representer Trailblazer: 4min incompressible...

ActiveRecord transaction : avec : 6min / sans : 5min

Faire les associations des modèles : avec les indexes des array : 50s avec des Array.find : 5min

Merge de deux Array (greffe secondaire dans greffe principal) : avec une étape pour créer un hash indexé par siren : 50s avec des Array.find : 4min

ActiveRecord.save en batch : avec : 40s / sans : 4min

batch size : 500: 1min10s 1 000: 40s 2 000: 40s 5 000: 30s 10 000: 1min20

Haelle commented 5 years ago
Haelle commented 5 years ago

j'ai rebase, fix et donc push force. Il y avait des erreurs lors du merge à cause des 2 autres PRs seuls les deux derniers commits sont d'aujourd'hui