[Python] richiesta di informazioni.

Davide Rambaldi davide.rambaldi a gmail.com
Mer 11 Lug 2012 11:07:59 CEST


[OT] (io vivo OT)

Per migliorare la mia terribile funzione ricorsiva, si potrebbe sempre compilarla con Cython: si sto cazzeggiando al lavoro …  :-)


* pure python: 0.938 s

* cyton compiled: 0.510 s

* cython compiled with types: 0.365 s


Che ne pensate di cython, vale la pena utilizzarlo o e' una perdita di tempo?

Ciao!




On Jul 11, 2012, at 10:33 AM, enrico franchi wrote:

> 2012/7/11 Davide Rambaldi <davide.rambaldi a gmail.com>:
>>> 
>>> Tornando al tuo esempio, la versione con yield ti e' venuta cosi',
>>> naturale, ed e' assolutamente buona.
>>> La versione "competitiva" ricorsiva (al di la di problemi semantici
>>> strutturali di python) lo e' un po' meno.
>> 
>> Beh diciamo che se yield fosse stato piu' lento della mia fibonacci ricorsiva, mi sarei veramente preoccupato…. :-)
>> 
>> quella atroce funzione che mi porto in giro dei tempi della scuola mi serve come "lower limit"
> 
> Appunto: con una versione ricorsiva con accumulatore avresti visto che
> scoppia perche' scoppia lo stack, ma per il resto non e' oltremodo
> lenta (sempre piu' lenta di una cosa iterativa, visto e considerato
> che le chiamate di funzione hanno in se e per se un costo non
> indifferente in Python).
> 
> Quello che vorrei scoraggiare e' vedere yield come strumento per le
> perforamance: accidentalmente puo' fare anche questo. Ma io direi che
> e' soprattutto uno strumento generale per risolvere una certa classe
> di problemi in modo comodo ed elegante. La classe di problemi e'
> "generare una sequenza di valori".
> 
> Da cui ovviamente discende fibonacci, l'iterazione con un qualunque
> criterio sugli elementi di una struttura dati, ma anche la generazione
> di una sequenza di linee \n-terminated a partire da quello che esce da
> un socket. Per dire.
> 
> 
> -- 
> .
> ..: -enrico-
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python



Maggiori informazioni sulla lista Python