Pregunta

Como un regalo de Navidad que he escrito un pequeño programa en Java para calcular números primos. Mi intención era dejarlo en toda la noche, calculando el próximo primer y escribir en un archivo .txt. En la mañana me gustaría matar al programa y tomar el archivo .txt a mi amigo para Navidad.

¿Hay algo que debería estar preocupado? Tenga en cuenta que esto es cierto para principiantes Ziggy la que está hablando, no un error de comprobación de tipo inteligente ASM.

EDITAR Más específicamente, puesto que voy a dejar este programa en toda la noche contando los números primos, ¿hay alguna posibilidad de que voy a encontrar algún tipo de error relacionado con la memoria? Al igual que, apila los montones de trituración o perros y gatos durmiendo juntos?

EDITAR aún más específicamente, ¿hay una línea de código que podría poner en detener la impresión de las líneas cuando el tamaño del archivo es de 4 GB? Sólo para estar seguro?

EDIT: éxito: después de salir en toda la noche no tengo más de 13 KB de números primos, la más alta que me dieron fue 22.947.217, que es como decenas de miles de números primos. Éxito!

¿Fue útil?

Solución

Lo más probable es que esté utilizando un algoritmo que es lento. Como los números primos se hacen más grandes que su programa va a tomar más tiempo y más tiempo para calcular un único primo. Si se deja correr durante la noche el archivo de texto no va a ser muy grande por la mañana. Estaría impresionado si es más de un par de megas.

Otros consejos

Yo recomendaría el envío de un mensaje SMS para cada primo a calcular. Su amigo le gustaría que mucho mejor que un montón de papel. Además de que se puede actualizar con mucha más frecuencia.

Hay un montón de límites, aunque ninguno de ellos es intrínseca a .txt archivos:

  • Windows 9x Bloc de notas no se abre un archivo> 64KB.
  • Windows NT / 2K / etc de Bloc de notas no tiene límite, pero tiende a ahogarse y encerrar en archivos de varios megabytes. También es necesario recordar la mayoría de los editores de texto son tontos y tratar de leer todo el archivo en la memoria RAM.
  • Las porciones de software se limitan a los archivos de 2 GB o 4 GB dependiendo de si utilizan o firmado enteros sin signo -. Como alguien ya se ha mencionado FAT32 es culpable de esto

Técnicamente, no hay límite a excepción de que los lugares que sistema de archivos en ti. Sin embargo, el Bloc de notas es muy mal humor sobre la apertura de los archivos exageradamente grandes.

Usted podría considerar el seguimiento del número de bytes que se escribe en cada archivo y cambiar a uno nuevo después de algún número de bytes. También puede proporcionar un visor para sus archivos para que su amigo pueda ver su don más fácilmente. :)

Si falla la memoria, FAT32 tiene un tamaño de archivo 4gig límite.

Ziggy -

Me encanta esta: "no un error de comprobación de tipo inteligente ASM." Usted está describiendo todos nosotros!

Tener un montón de espacio en disco y escribir de distancia! Como se mencionó anteriormente, asegúrese de que el editor utilizado para abrir su archivo se puede abrir archivos muy grandes.

Felices fiestas, verdadero principiante Ziggy.

Sólo en cuanto al tamaño del lugar que está almacenando el archivo de texto en el disco.

Y, si usted no está escribiendo todo de inmediato, la memoria + memoria virtual.

¿Qué hay de ahorro de algunos ciclos de CPU y simplemente descargar un pre-computados de los números primos ? O es más "lo que cuenta"? :)

¿Qué pasa con sólo la creación de un archivo para cada número primo y luego usar el nombre del archivo para mostrar el número?

De alguna manera dudo que al tener su programa ejecute durante la noche, que el tamaño de archivo sea un problema, teniendo en cuenta que se necesitará más tiempo para encontrar números primos como los números se hacen más grandes. Sólo asegúrese de limpiar o es posible que se comen toda la memoria RAM.

Para responder a su pregunta: En teoría, el sistema de archivos restringe el tamaño del archivo. Sin embargo, una gran cantidad de editores de texto de choque (Vim no) al cargar archivos grandes (> 100 MB), porque tratan de encajar en una memoria intermedia.

En resumen, considerar dividir sus archivos en trozos el eslabón más débil (editores de texto) puede manejar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top