Was ist eigentlich schelle ein index zugriff auf eine Liste, oder ein dictionary wobei die Keys dann eine einfache Zahlenreihe ist?
Bringt der hashtable beim dictionary auch Vorteile, obwohl man eh immer über den Index geht?
Perfomance: list[index] vs. dict[index]
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Zumindest mit diesem Test ist eine Liste schneller:
Code: Alles auswählen
import timeit
COUNT = 2000
print timeit.timeit(
'for i in xrange(32*1024):mem[i]',
setup='mem=[0x00] * (32*1024)',
number=COUNT
)
print timeit.timeit(
'for i in xrange(32*1024):mem[i]',
setup='mem=dict([(i,0x00) for i in xrange(32*1024)])',
number=COUNT
)
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ist das Hashen des Keys in einen Index und dann der Sprung an einen Index (wobei eventuell mit Kollisionen umgegangen werden muss) schneller als ein Sprung an einen Offset im Speicher? Ziemlich sicher nicht. Wobei ich an dieser Stelle sagen muss, dass ich nicht weiß wie Python mit Kollisionen im Dict umgeht, aber das kann man in dictobject.c nachsehen.jens hat geschrieben:Bringt der hashtable beim dictionary auch Vorteile, obwohl man eh immer über den Index geht?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice