работал в постоянной памяти в обоих случаях доступа к голове и последним элементам.

ользовал Data.Binary для сериализации данных в файлы. В моем приложении я постепенно добавляю элементы в эти файлы. Два самых популярных пакета сериализации, двоичный и зерновой, оба сериализуют списки в виде числа, за которым следуют элементы списка. Из-за этого я не могу добавить свои сериализованные файлы. В настоящее время я читаю весь файл, десериализирую список, добавляю его в список, повторно сериализую список и записываю его обратно в файл. Тем не менее, мой набор данных становится большим, и я начинаю исчерпывать память. Возможно, я мог бы распаковать свои структуры данных, чтобы освободить место, но такой подход не масштабируется.

Одним из решений было бы разобраться с форматом файла, чтобы изменить начальный счет, а затем просто добавить мои элементы. Но это не очень приятно, не говоря уже о том, чтобы быть чувствительным к будущим изменениям в формате файла в результате нарушения абстракции. Итераторы / перечислители приходят на ум в качестве привлекательного варианта здесь. Я искал библиотеку, объединяющую их с двоичной сериализацией, но ничего не нашел. Кто-нибудь знает, было ли это уже сделано? Если нет, будет ли библиотека для этого полезной? Или я что-то упустил?

Ответы на вопрос(2)

Ваш ответ на вопрос