Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 16-jun-2008, 09:51   #1 (permalink)
vilagutv7 ha deshabilitado el karma
 
Fecha de Ingreso: julio-2006
Mensajes: 144
Optimizacion de tiempos

Como les he venido comentando, estoy trabajando con serializacion de Hashtables, la serializacion es mas lenta mientras tamaño tiene el objeto que vas a deserializar por lo que decidi picar la tabla de hash en varios pedazo lo que hace que sea mas rapido obteniendo un rendimiento que mejoro desde 4 mins a 1,24 mins pero para efectos de lo que estoy trabajando aun es mucho tiempo podrian uds ayudarme a optimizar un poco mas este codigo que adjunto a ver si ven algo que yo no veo.

//Serializacion
System.Console.WriteLine("Inicio de Serializacion nueva " + DateTime.Now);

foreach (DictionaryEntry key in a)
{
campos camp = new campos();
camp.clav = key.Key.ToString();
camp.posi = (List<int>)key.Value;
contador++;
listaCamp.Add(camp);

if (contador == 12500)
{
arch++;
Stream stream = new FileStream("D:\\Ernesto\\Pruebas\\prueba" + arch + ".txt", FileMode.OpenOrCreate, FileAccess.Write);
formatter.Serialize(stream, listaCamp);
stream.Close();
contador = 0;
listaCamp.Clear();
}
}

System.Console.WriteLine("Fin Serializacion Nueva " + DateTime.Now);


BinaryFormatter bs = new BinaryFormatter();


//Deserializacion
System.Console.WriteLine("Inicio Deserializacion Nueva " + DateTime.Now);

for (int i = 1; i < 400; i++)
{
Stream stream1 = new FileStream("D:\\Ernesto\\Pruebas\\prueba" + i + ".txt", FileMode.Open, FileAccess.Read);
List<campos> lista = new List<campos>();
lista = (List<campos>)bs.Deserialize(stream1);
for (int j = 0; j < lista.Count; j++)
{
String clavecita = lista[j].clav;
List<int> pos = new List<int>();
pos = (List<int>)lista[j].posi;
b.Add(clavecita,pos);
}
System.Console.WriteLine("Archivo # " + i + " " + DateTime.Now);
}

System.Console.WriteLine("Fin Deserializacion Nueva " + DateTime.Now);
vilagutv7 está desconectado   Responder Citando
Antiguo 16-jun-2008, 09:52   #2 (permalink)
vilagutv7 ha deshabilitado el karma
 
Fecha de Ingreso: julio-2006
Mensajes: 144
Respuesta: Optimizacion de tiempos

Y esta es la estructura

[Serializable]class campos
{
String clave;
List<int> posiciones = new List<int>();

public string clav
{
get
{
return clave;
}
set
{
clave = value;
}
}

public List<int> posi
{
get
{
return posiciones;
}
set
{
posiciones = value;
}
}

}
vilagutv7 está desconectado   Responder Citando
Antiguo 16-jun-2008, 11:08   #3 (permalink)
Peterpay tiene algunos puntos positivos de karma
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 2.032
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Respuesta: Optimizacion de tiempos

estas utlizando hilos, si no seria la opcion
__________________
Saludos
Peterpay
MCPD EAD
Directorio Gratuito
Peterpay está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 20:45.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93