[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