Galkov писал(а):
Вам просто не даст два логических гига под один массив.
В 32-ой виндовой программе выделить 2 гига нельзя, также как и 1 гиг. А вот ваша цитата:
Galkov писал(а):
Добавьте один байт к 1Г-массиву и покопируйте
т.е. ваш 1 гиг ок, а мои 2 - нет?
Galkov писал(а):
Но я вижу полное отсутстсвие фантазии даже про оперирование с одним массивом... Не говоря уже про два, три, и т.д..
Откуда взялось два, три и т.д. массивов. Вы вообще про что? про фантазии? Тогда наверно это не та тема. А я лишь про эффективность статегии удвоения.
Galkov писал(а):
Дельфи (вообще-то, речь идет о его модуле system) дураки сочиняли, наверное... А ведь они делают релокацию не только при увеличении строки, но и при уменьшении. Зачем-то.
Откуда всплылО уменьшение? За какие уши притянуто? Речь шла о добавлении элементов.
Galkov писал(а):
Просто делают, не спрашивая, где в ЖИЗНИ это может пригодится.
Ты смотри, сами про ЖИЗНЬ догадались.
Ха-ха. Написали какой то фигни (это я про создателей дельфи), даже не думая "Зачем это в ЖИЗНИ может пригодится." Вы хоть сами себя читаете?
Galkov писал(а):
Сложно объяснять простые вещи, однако...
Опять не понимаю про что вы?
Galkov писал(а):
Посмотрите. Например, как это сделано в том же Дельфи. И найдите кого другого, кто быстрее со строками работает. На практике, а не из некоторых якобы "рассуждений"
Представляете, я знаю ТОЧНО как это в дельфи работает. И да, я смотрел, много раз
Дак вот - они КОПИРУЮТ если нет свободных страниц сразу после текущего блока памяти. А в реальной программе их (свободных страниц в конце блока) обычно нет.
И это я вас просил привести пример кто "быстрее работает". Не передергивайте. Я таких не знаю, хотя занимался этим вопросом. Если приведете - я буду признателен.
Galkov писал(а):
Вообще-то, никто не говорил, что "удвоение размеров" - глупость.
Ну спасибо хоть на этом.
Galkov писал(а):
Говорилось, что копирование при этом даже 4К - не эффективно.
Ремэпинг - быстрее, несмотря на страшные переходы на нулевое кольцо
При удвоении массива на каждый элемент в среднем приходится 1-но копирование (а максимум 2). Это очень мало.
И просто ремепинг в средах со сборкой мусора (.Net, Java, CP) делать нельзя. Почему? Да потому что указатель после ремапинга будет другой. Дальше объяснять?