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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.