Il giorno sab, 04/09/2010 alle 10.09 +0200, enrico franchi ha scritto: > 2010/9/3 Pietro Battiston <m...@pietrobattiston.it>: > > >> Potrebbe essere. La teoria dice che hai ragione tu; in pratica quello > >> che succede non lo so > > > > Cioè sospetti che _in pratica_ un sort possa prendere meno tempo di un > > max? > > Non lo *sospetto*. Ma *dipende*. Il sort di cui parliamo e' il > timsort, che e' *molto* > efficiente. Il fatto e' che max e' a sua volta scritto in C, il che > vuole dire che non > si pagano le solite penalita'.
Mi interessava l'argomento perché se davvero il max fosse stato più lento del sort, da oggi in poi tutti i miei programmi sarebbero iniziati con max = ( lambda i : i.sort() or i[-1]) ! > > In pratica ho anche confrontato un max fatto *male* in Python. E' > circa una volta > e mezzo piu' lento del max builtin e svariate volte piu' veloce dei sort. > > La teoria, insomma, vince. Il mio discorso era un pelino piu' > generale. Ovvero che dal momento che la teoria nasconde sempre le > costanti moltiplicative, ma nella pratica queste possono avere un > impatto non indifferente, spesso un controllo non guasta. (forse in questo caso ci sarebbe più da temere costanti _additive_...) ciao Pietro _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python