Quote:
|
Originally Posted by [JIeXa
]
ну если бы kye предоставил картинку разрешением 1900x1600, то думаю это заняло бы куда меньше памяти чем хэш...
|
Для того, чтобы нормально определять координату Z с точностью до целых X,Y, как это сделано сейчас, потребуется картинка не меньше 6000х6000px, которая в памяти будет занимать даже больше, а весить будет в зависимости от сжатия (без сжатия в 4 раза больше от текущего размера).
Quote:
|
Originally Posted by MX_Master
Чтение с файла это наверно самый первый вариант, который пришел в голову Kye. Но по своим соображениям, он сделал иначе.
|
Врядли он его вообще рассматривал, считая что это медленный вариант, но не стоит этот метод недооценивать, ведь mysql же не тормозит и работает с гигантскими объёмами данных очень быстро, а принцип тот же и памяти не кушает много, все данные хранятся в файлах, в памяти только данные, которые необходимы для текущей операции выборки. Вообще, жёсткий диск не в состоянии физически прочитать 1 байт, он читает кластерами, это уже потом ОСь вырезает нужный байт из набора (1024 обычно) и отдаёт программе, но кроме этого, у жёсткого диска имеется ещё и внутренний кеш, который активно используется. Например если система запросила прочитать указанный клайстер, то жёсткий диск может, как бэ предугадывая действия программы, прочитать и отложить себе в кеш несколько следующих клайстеров и когда программа обратится за следующей порцией данных, они уже будут считанные не с "блина" жёсткого диска, а из его кеша. Плюс сама ОСь выделяет часть оперативной памяти под кеширование файлов часто читаемых с диска
В общем я к чему, применимо к данной задаче, чтение из файла будет так же быстро, как и чтение из памяти

Яб это написал в англоязычной теме, но лень переводить, да и следующий экзамен не по английскому, а по теории вероятностей D: