Actualmente estoy usando una función sumamente largo diccionarios (utilizado para comparar el ADN de las cadenas) y a veces estoy recibiendo MemoryError.
Hay una manera de asignar más memoria a Python por lo que puede tratar con más datos a la vez?

Python de 64 bits mucho más de soporte de memoria. Yo diría que los números reales, pero no recuerdo (yo veo esto en una Pregunta de StackOverflow.)
Estoy comparando cadenas en longitudes de 3 a 5 millones de caracteres, en el proceso de creación de un diccionario para cada uno contiene alrededor de tantas claves como su longitud. ¿Eso cuenta como mucho?
Que es, sin duda mucho. Usted debe considerar la refactorización de código.
Hola, si es el ADN, entonces, ¿cómo estos diccionarios tienen tantas llaves?
La cantidad de RAM que está usted trabajando? Puede agregar los detalles acerca de los datos en la pregunta a sí mismo en lugar de en los comentarios? Elaborar un poco más. Si si es una versión de 32 bits de Python, puede beneficiar en gran medida por ir de 64 bits. Depende.

OriginalEl autor Maor | 2017-06-12

2 Comentarios

  1. 6

    Python no limitar el uso de memoria en su programa. Se asignará la mayor cantidad de memoria de su programa de necesidades hasta que su equipo está fuera de la memoria. Lo máximo que puede hacer es reducir el límite a un fijo superior de la tapa. Que se puede hacer con el resource módulo, pero no es lo que estás buscando.

    Usted tendría que mirar de hacer su código más memoria/rendimiento amable.

    OriginalEl autor coldspeed

  2. 4

    Si usas linux, puede intentar Ampliar la Memoria con el Swap – una forma sencilla de ejecutar programas que requieren más memoria que instalado en la máquina.

    Sin embargo, la mejor manera es a actualización de programa para gestionar los datos en trozos si es posible, o para ampliar la memoria en la máquina, ya que existe una penalización de rendimiento utilizando este método (utilizando el disco más lento dispositivo).

    OriginalEl autor napuzba

Dejar respuesta

Please enter your comment!
Please enter your name here