Estoy colocando alrededor de 4 millones de claves diferentes en un diccionario de Python. La creación de este diccionario dura unos 15 minutos y consume aproximadamente 4 GB de memoria en mi máquina. Una vez que el diccionario está completamente creado, consultar el diccionario es rápido.¿Cómo establecer el tamaño inicial de un diccionario en Python?
Sospecho que la creación de diccionarios consume tantos recursos, ya que el diccionario a menudo se renueva (ya que crece enormemente). ¿Es posible crear un diccionario en Python con algún tamaño inicial o número de segmento?
Mi diccionario apunta de un número a un objeto.
class MyObject(object):
def __init__(self):
# some fields...
d = {}
d[i] = MyObject() # 4M times on different key...
Muy similar a http://stackoverflow.com/questions/311775/python-create-a-list-dict-with-initial-capacity –
¿Puede decirnos la fuente/formato de sus claves, para que podamos mejorar el awsers? –
la clave es un número – tkokoszka