[Python] Numpy.array e tempi di accesso
Manlio Perillo
manlio.perillo a gmail.com
Mar 3 Nov 2015 18:23:29 CET
2015-11-03 18:19 GMT+01:00 Manlio Perillo <manlio.perillo a gmail.com>:
> 2015-11-03 17:19 GMT+01:00 Pietro Battiston <ml a pietrobattiston.it>:
>> Salve a tutti di nuovo,
>>
>> se definisco un semplice Fibonacci con una cache (volutamente un po'
>> stupida):
>>
>
>> [...]
>> E va bene che il
>> dizionario Python è una struttura efficiente, ma... è sempre una hash
>> table più un indexing, come fa a battere un semplice indexing?
>> [...]
>> ... ma resta il fatto (verificato con %lprun) che "cached = cache[n]" è più veloce quando cache è un dizionario (~0.3 µs) che quando è un array (~0.4 µs).
>>
>> Ciò umilia quel briciolo di comprensione delle strutture di dati che credevo di avere. Qualcuno sa illuminarmi?
>>
>
> Tieni conto che con Python è ben possibile che ci siano altri fattori
> che "mascherano" le performance reali [1].
> Magari l'indexing di un array numpy non accede direttamente alla
> memoria come accade in C.
>
Ed infatti:
http://stackoverflow.com/questions/22239199/numpy-array-indexing-and-or-addition-seems-slow
A differenza di Go, però, qui non puoi farci niente!
Ciao Manlio
Maggiori informazioni sulla lista
Python