Re: [escepticos] Lenguajes de programación (era: No pienses en un elefante)

Tei oscar.vives en gmail.com
Jue Ago 23 09:59:40 WEST 2012


2012/8/23 Borja Marcos <BORJAMAR at sarenet.es>:
...
>> Muchos juegos tienen un diseño de disco virtual, donde los ficheros
>> estan dentro de ficheros grandes de datos.  Un  europe.dat en un juego
>> suele ser una "imagen de disco" dentro de la cual hay un monton de
>> ficheros.  Los juegos virtualizan un disco usando uno o varios
>> columenes de estos.  Estos volumenes tienen como versiones primitivas
>> (optimizadas para velocidad) de FAT.
>
> Y eso es una tontería que han hecho por uno de los siguientes motivos:
>
> - Evitar que los usuarios cojan los archivos gráficos de los monigotes del juego y los usen por ahí
>
> - Evitar el engorro de que la instalación maneje centenares de archivos
>
> - Evitar que los usuarios modifiquen cosas del juego
>
> Ahora, ¿eficiencia? Ni de coña, y especialmente en un sistema operativo moderno.
>

En un sistema operativo moderno no lo se. Pero en Windows si tienes
miles de ficheros en un directorio, se degrada la velocidad cosa mala.
 Con 250.000 ficheros en una carpeta, igual te pegas esperando 20
segundos para hacer un ls.

Tener todos los datos en un solo fichero significa que solo tienes un
handler de fichero, tener muchos handlers abiertos puede ser
problematico, o a lo mejor el sistema operativo es lento al abrir
nuevos ficheros porque las operaciones internas que hace (por ejemplo
consultas de permisos) añaden carga de trabajo.   Ademas los ficheros
de un juego pueden ser muy pequeños y haber muchos,  dependiendo del
tamaño del sector de disco, esto puede significar que el disco lee 4
megas de sectores de disco para ofrecer 250 KB de datos. Leer 4MB es
mas lento que leer 250KB.    Si guardas los datos en un fichero .dat,
solo necesitas un identificador, offset dentro del fichero, y
longitud.  Crear el fichero .dat es lento (pero solo se hace una vez,
en el ordenador del desarrollador), pero leer es instantaneo.  Un
sistema de ficheros esta optimizado para facilitar tanto el escribir
como el leer, esta optimizado para otras operaciones.


-- 
--
ℱin del ℳensaje.


Más información sobre la lista de distribución Escepticos