Skip to content

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

  1. Installer la branche dans un environnement Canopsis
  2. se mettre dans l'environnement Canopsis :su - canopsis
  3. (re)démarrer Canopsis :hypcontrol restart
  4. lancer les tests unitaires : ut_runner
  5. Retourner dans le dossier où les sources de canopsis sont installées :cd /vagrant/canopsis
  6. Exécuter les tests fonctionnels : cd sources/functional_testing/ && python2 runner.py

@bdubois @tgosselin @adewarumez @fpeterschmitt

Edited by Thomas Gosselin

Merge request reports