Я пытаюсь сериализовать значительное количество двоичных данных в пользовательский формат файла, используя System.IO.Packaging.Package и PackagePart. Я пытаюсь использовать BinaryFormatter для вывода набора подробных наборов данных медицинских изображений в отдельные части файла/пакета.System.IO.Packaging проблемы скорости в C#
Я могу использовать BinaryFormatter для вывода всех моих данных непосредственно в FileStream (вообще не используя System.IO.Packaging), а мои данные образца выводят около 140 миллионов данных за 12 секунд. Довольно быстрое и не очень плохое решение, но я бы предпочел более гибкий формат, поддерживающий сжатие, и возможность хранить дополнительные данные в гибком формате.
Получение потока через _packagePart.GetStream() и попытку сериализации данных в этот поток через двоичные файлы. Моя сериализация данных займет около 5-10 минут (и это происходит при выключенном сжатии).
Класс System.IO.Packaging.Package - это нечто вроде черного ящика, с которым у меня нет существенного опыта. Любая идея, почему потоковая передача данных в этот формат против прямого бинарного форматирования в файл будет сильно отличаться в производительности? Я знаю, что мой объект может быть сериализован относительно быстро в двоичном формате. Почему так долго писать?
возможно пост пример кода – Simon