+24
−28
+13
−8
Chargement en cours
Un optimisation du code produit par le compilateur à laquelle j'aurais dû penser depuis le début: les arguments de la fonction '''calculer_select''' (les clauses Selec, From, etc) sont majoritairement des tableaux invariants, il est couteux de les refabriquer à chaque appel du code compilé d'une boucle (l'amélioration sera donc perceptible pour une boucle imbriquée dans une autre et pour les boucles récursives). On met donc chacun dans une variable qui est déclarée statique lorsque la valeur est effectivement invariante. Et pour une fois, voilà une optimisation qui rend le code plus lisible.
Par contre-coup, optimisation mineure du critère {{{inverse}}} pour faciliter l'optimisation ci-dessus. Il faudrait aussi optimiser la compilation du critère IN, qui en l'état empêche l'optimisation ci-dessus, la plupart du temps par excès de précaution (c'est seulement en cas de #ENV dans le IN que ça doit l'empêcher).
Forge communautaire SPIP | Charte d'utilisation | Signaler un problème sur ce site