GOOGLE ADS

martes, 3 de mayo de 2022

¿Hay alguna diferencia con respecto al ahorro de memoria entre un diccionario normal y un diccionario trie?

¿Hay alguna diferencia con respecto al ahorro de espacio en la memoria entre un trie y un diccionario normal? en caso afirmativo, ¿hay alguna forma de contar y medir su diferencia? como cuántos bits o bytes es su diferencia.

aquí hay un ejemplo de estos dos tipos de diccionarios:

trie_dict = {'f': {'o': {'o': {'t': {'value':'to walk with'},   
'l': {'value':'to teach'},
'd':{'value': 'to eat'}}}}}
normal_dict = {'foot': {'value': 'to walk with'},
'fool': {'value': 'to teach'},
'food': {'value': 'to eat'}}


Solución del problema

Este es mi intento de una mejor evaluación del tamaño total de un objeto ( dicty strsolo):

def rec_size_of(obj):
current = 0
if isinstance(obj, dict):
current += getsizeof(obj)
for k,v in obj.items():
current += getsizeof(k)
current += rec_size_of(v)
elif isinstance(obj, str):
current += getsizeof(obj)
return current
rec_size_of(trie_dict)
2315
rec_size_of(normal_dict)
1454

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...