elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
30 Agosto 2008, 14:24  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderador: ®®)
| | |-+  Cargar archivos rápido.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Cargar archivos rápido.  (Leído 82 veces)
APOKLIPTICO

Desconectado Desconectado

Mensajes: 466


Don't talk to me if you ain't got the answer


Ver Perfil
Cargar archivos rápido.
« en: 01 Junio 2008, 17:14 »

Holaaa!!
Bueno, hace bastante que no posteo, y al fin me decidi a ponerme con C++ XD...
Lo que estoy haciendo es un programa que implemente un algoritmo de encripción, y para eso necesita cargar el archivo en la heap, para lo que escribi esto:

Código
cout << "OK!\n*  Getting file size...";
pbuf=unFile.rdbuf();
Fsize=pbuf->pubseekoff (0,ios::end,ios::in);
pbuf->pubseekpos (0,ios::in);
pszDump = new char[Fsize];
cout << "OK!\n*  Loading file (May take a while)...";
if(pszDump)
{
unFile.read(pszDump, Fsize);
cout << "OK!\n";
}
"pbuf" es el puntero al buffer del stream (lo saque de una pagina, es una buena manera de conseguir el tamaño del archivo)
"Fsize" es obviamente un long que contiene el tamaño del archivo.
"pszDump" es un puntero al archivo cargado en memoria.
"unFile" es el stream del archivo abierto.

Esto carga el archivo en mi compu, a casi 3 Mb/s en la memoria, una velocidad bastaaante chota.
Para que tengan un punto de referencia, estas son mis specs:
- Amd sempron 2500+ @ 1400 Mhz.
- 1Gb de Ram DDR - 128 Mb de video shared.
- Disco 80Gb Sata.

Hay alguna manera de agilizar el proceso de cargado en la heap?
Hay un lenguaje, Linoleum, que te dejaba pasar ciertos valores por los registros de la CPU, que hacia que todo sea bastante mas rapido, pero creo q no sirve para esto.

En definitiva, hay algo que se pueda hacer para mejorar el cargado de archivos??

Un abrazo, mucha suerte...
En línea

Y = (100/(100+(x-Pi/2)^8)) * (2-sin(7*x)-cos(30*x)/2)

Aprendiendo:
RFI: 10%
XSS: 70%
Exploits: 60%
Hack Wireless: 10%
Troyanos y Virus: 70%
Encriptacion y Cifrados: 40%
Windows: 90%
Linux: 40%
VB: 70%
C++: 20%
ASM: 5%
Batch: 90%
Java: 15%
Perl: 10%
Redes: 30%
Software: 70%
Hardware y OC: 50%
Guitarra: 20%
Páginas: [1] Ir Arriba Imprimir 
Ir a:  





Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC