Deserialization trop lente
Bonjour à tous,
Dans un programme, j'ai besoin de Serializer / Deserializer un objet qui contient une liste pouvant contenir des centaines de milliers de petits objets avec seulement 2 propriétés de type int.
La Serialization s'effectue assez rapidement (1 à 2 secondes). Le fichier créé a une taille d'environ 10 Mo.
En revanche, la Deserialization est, elle, beaucoup plus lente (7 à 8 secondes), à tel point qu'elle perd tout son intérêt, car mon programme de base charge mon objet plus rapidement.
Voici mon code de Serialization :
Code:
1 2 3 4 5
| // Serialization de l'objet toto
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream(path + file, FileMode.Create, FileAccess.Write, FileShare.None);
formatter.Serialize(stream, toto);
stream.Close(); |
Et mon code de Deserialization :
Code:
1 2 3 4 5
| // Deserialization
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream(path + file, FileMode.Open, FileAccess.Read, FileShare.Read);
MyObject toto = (MyObject)formatter.Deserialize(stream);
stream.Close(); |
Est-ce normal ? Y a t-il un moyen de réduire ce temps de Deserialization ?
Merci d'avance.