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 :
Et mon code de Deserialization :
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();
Est-ce normal ? Y a t-il un moyen de réduire ce temps 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();
Merci d'avance.
Partager