Существует ли реализация MemoryStream с открытым исходным кодом, в которой не используется непрерывная память?

Как и GuyFawkes, я хотел бы использовать MemoryStream для хранения большого количества данных, но продолжаю сталкиваться с исключениями "недостаточно памяти".
Ответ TomTom - это то, что я хотел бы сделать - использовать реализацию, которая не требует непрерывного блока, - но мне интересно, есть ли уже бесплатная реализация, чтобы я не писал ее сам?

Кто-нибудь знает хорошую бесплатную повторную реализацию MemoryStream, которая может работать с большими потоками?

РЕДАКТИРОВАТЬ:

Решение MemoryMappedFile очень интересно, и я буду помнить его для других проектов, однако, как говорит Хенк, оно слишком далеко отходит от абстракции, к которой стремится MemoryStream. В частности, требование известной емкости.
Данные, которые будет обрабатывать замена, в некоторых случаях будут очень большими, но в других относительно небольшими (и нет, мы не знаем, какие они будут, пока не станет слишком поздно ;)); кроме того, многие экземпляры класса будут существовать одновременно. В конечном итоге работа, необходимая для использования MemoryMappedFiles (для определения подходящего размера для каждого из них), будет эквивалентна работе по внедрению решения TomTom.

8
задан Community 23 May 2017 в 12:09
поделиться