[Python] Algoritmo in CSV

Pietro Battiston me a pietrobattiston.it
Sab 4 Set 2010 11:00:52 CEST


Il giorno sab, 04/09/2010 alle 10.09 +0200, enrico franchi ha scritto:
> 2010/9/3 Pietro Battiston <me a 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



Maggiori informazioni sulla lista Python