May 18th, 2007

nyaload

(no subject)

Многократное наблюдение: передавать имя файла как параметр инициализации какого-то объекта - часто приводит к большому неудобству потом (сложно передать инфу не из файловой системы или из юникодного пути). И к совершенно ненужной возне с файловой системой внутри этого объекта, которая из-за того что с ней возятся в сотне мест - должна стать универсальной и сложной.

Наиболее простой и универсальный интерфейс для работы с данными до десятка мегабайт - через указатель на область памяти, всякие IStream - часто больше ненужное усложнение, пока не работаем с гигабайтными DVD-фильмами и прочими мега-кусками информации, которые внутри себя не разбиваются на именованные кусочки (или медленное стягивание инфы из инета/stdin-pipe с параллельной обработкой, но это очень далеко от моей области).

Так как memory map, то это может быть даже не только самым универсальным способом, но и самым эффективным.