Optimization on context creation
Merge Request Canopsis
canopsis/canopsis#697
Inclut !55 (merged) qu’il faudra merger avant.
La création du context graph depuis un event peut devenir très lente s'il y en a beaucoup en peu de temps. Voici une optimisation de l'algo. Amélioration de 25% sur les update de context (sur 200 000 entités).
Amélioration générale de 70% des perfs sur l'engine-che.
Pré-requis
Merger !51 (merged)
Pour tester comme avant, sans le mode bulk, il faut simplement remplacer err := e.BulkUpdate(entity)
par err := e.Update(entity)
dans entity_dbadapter.go +172
.
Pour la validation
-
Le code respecte la PEP8 -
Chaque classe/fonction/méthode contient une docstring complète -
Le code est revu, les modifications demandées sont appliquées -
Les messages de commits sont compatibles avec l' angular spec ? -
Les modifications apportées contiennent des tests unitaires -
Les tests unitaires passent -
la documentation a été mise à jour (si changement de comportement)
Tests
- Installer la branche dans un environnement Canopsis
- se mettre dans l'environnement Canopsis :
su - canopsis
- (re)démarrer Canopsis :
hypcontrol restart
- lancer les tests unitaires :
ut_runner
- Retourner dans le dossier où les sources de canopsis sont installées :
cd /vagrant/canopsis
- Exécuter les tests fonctionnels :
cd sources/functional_testing/ && python2 runner.py
Edited by Thomas Gosselin