On Wed, Mar 19, 2014 at 04:36:31PM +0100, Pierrick Brunet wrote: > Hi, > > As we speak with serge on IRC about our TODO list, Here is mine. > Sorry, it is in french ;-) > Some points may be just a check ;-) Here is mine. I have commented yours ;-) 1. Track codes where parakeet performs better than we do 2. more numpy test case from stackoverflow 3. BOOST.SIMD & numpy, returns 4. OMP & numpy, returns i'd like to make a release of Pythran once 1. is finished, and the current PR merged. > > Pierrick > 2. Utilisation du used-def chain pour supprimer le code inutile I don't feel a huge need for this one > 3. Amélioration des slices par un get(i) qui calcul pas la même chose si le > step est de 1. C'est partiellement impélmenté avec les contiguous slice > 4. codespeed à relier à mes 1-2-3-4 ? > 5. use generic_visitor in openmp.py ? > 6. suppression des no-op (if avec que des pass dans le body, for avec juste > des break ou des continues, ...) GCC doit le faire > 7. suppression des == quand les deux operandes sont pure et les mêmes cas tests motivant ce truc ? > 8. genere des vrai boucle comme on a l'habitude quand : la variable > d'iteration n'est pas assigné dans la boucle et l'iterable est un range ou > xrange Je me souviens avoir testé et pas vu de diff de perfs significatifs; À confirmer avant de se lancer > 9. check si les constant expressions ne sont pas la même chose que des pures > expressions pour le constant folding +1 > 10. Si on forward les constantes "simples"(basicType), on pourrait faire > plusieurs fois : csts folding et lazytransform (tant qu'on modifie des choses) moi pas comprendre > 11. Montrer les erreurs Python à la compilation plutot que de crasher dans gcc pour le typage ? > 12. prendre en compte les collapse de omp via un appel à itertools.product et > fusionnant les boucles à la main. owi > 13. for i in xrange(10): i = 2; print i est Lazy et devrais être detécté. +1 > 14. Faire la distinction entre : ne pas être lazy et être utilisé un nombre > potentiellement infini de fois. pkoa ? > 15. OMP lazy peuvent être bloqué pour les valeurs apparaissant dans la clause > mais mise à un nombre très grand pour les autres > 16. empécher l'omp seulement à la frontiére (mettre à inf les use après > l'entrés le pragma... // NEED OMP REWORK FIRST (omp_forwarding branch) +1 > 17. empty list/set/dict can be concidered as basicType ? > 18. functools.partial may be a PureFunction (depending on arguments...) +1 > 19. bitwise_not is numpy_uexpr +1 > 20. checker les warnings des tests pour vérifier qu'on fait du bon code. +1, mais compliqué parceque les cas tests sont merdeux > 21. Vérifier les comparaison multiple qui sont Lazy SSI les conditions sont > pures (à verifier) +1 > 22. supprimer un max de asarray dnas numpy en replacant ces calculs par de la > récursion. Évite l'évaluation +1 > pattern: > > len(set()) > map(None, ...) +1, mais c'est un gros dev > Error : > CRITICAL I am in trouble. Your input file does not seem to match Pythran's > constraints... > E: invalid syntax (<unknown>, line 2) > > => SyntaxError detectable par le parser Python C'est déjà le cas, non ?