PpHd (./46) :
Pollux (./45) :
Donc appeler n fois foo_c() en chaîne puis faire un eval() ne gagne que 5-10% (mettons 10-15% pour se laisser un peu de marge) par rapport à n foo() ?
Même pas, en "général".
Par contre si foo=add ou si foo=mul, alors eval(add_c (add_c (add_c (....))))) sera grosso modo en N*log (N), alors que add(add(add(add()))) sera (dans le pire cas!) en sum(i*log(i),i=1..N) Et là ca peut faire mal dans les performances.
Pourquoi il faudrait du n^2*log n ? T'as un exemple en tête ?
Pollux (./45) :
- Il n'y a pas d'explosion exponentielle, les UNDEF sont absorbants
Pas dans MAY. NAN +x reste NAN + x
Mais on peut aussi faire une extension qui serait absorbante, et là il n'y a pas d'explosion ^^
Pollux (./45) :
- Tu ne rajoutes une condition que quand tu fais une division, ce qui ne doit pas être très fréquent ?
Tout dépend de l'algorithme utilisé.
Oui, tu penses à quoi en particulier ?