Здравствуйте, McSeem2, Вы писали:
MS>Ключевые слова — "произвольного размера". То есть, позволяют, конечно же, но образно говоря, на уровне макрокосма (какой там размер страницы?).
4 или 8 килобайт. И я что то не слышал чтобы кто то считал его слишком большим.
MS>На микроуровне (контейнеры и проч.) — это все-таки слишком дорого.
Что дорого? А какой размер страницы нужен? 1к, 4 байта, 1 байт, 1 бит? А, главное, зачем? Современные менеджеры памяти умеют выделять сразу большой кусок под мелкие выделения и особых проблем с размером страницы нет. Более того — даже если у нас будет эффективная реализация микространиц, все равно в какой то момент у тебя машина ляжет из-за огромных размеров таблицы маппинга.
Вобще, не все технологии старых машин применимы на сегодняшних. И дело даже не в неправильном векторе развития. Например красивый и простой способ реализации окошек в текстовом режиме для графики не годится и приходится рожать очень сложные графические движки. И если когда нибудь мы вернемся к той модели, то это будет стоить навороченнейших видеоускорителей и огромных объемов набортной памяти. Вобщем не все технологии масштабируемы.
MS> Да, было бы конечно круто иметь такую возможность — не надо никаких реаллокаций, просто говоришь — "добавь-ка мне еще памяти". Но не факт, что это было бы лучше. Ключевой момент в автоматической сборке мусора — это именно SQUEEZE, которая четко работает за линейное время.
Ключевым я бы его называть не стал. Просто один из бенефитов GC. Ключевой момент это гарантия освобождения ненужной памяти.
В любом случае даже при современных 2Г адресного пространства проблема его фрагментации стоит перед относительно небольшим процентом приложений, а с переходом на 64 бита такой проблемы просто не станет.
... << RSDN@Home 1.1.4 beta 3 rev. 272>>