Не впевен - потому что слишком большая (3 раза) разница в потреблении памяти.
Добавляйте аналог
- Код: Выделить всё
setlength(arr1,TEST_CNT*4);
в вариант fpc-stl и всё станет также и скорость и память.
Добавлено спустя 12 минут 20 секунд:
Ваш "нечесный вариант"
zamtmn@desktop:/media/zamtmn/source/hdd/algotests/algo_test$ time ./test-dynarr
real 0m0.168s
user 0m0.160s
sys 0m0.004s
zamtmn@desktop:/media/zamtmn/source/hdd/algotests/algo_test$ time ./test-stl
real 0m0.191s
user 0m0.160s
sys 0m0.012s
Делаем всё по справедливости добавляя arr1.Reserve(Test_cnt*4)
zamtmn@desktop:/media/zamtmn/source/hdd/algotests/algo_test$ time ./test-stl
real 0m0.168s
user 0m0.156s
sys 0m0.012s
zamtmn@desktop:/media/zamtmn/source/hdd/algotests/algo_test$ time ./test-dynarr
real 0m0.179s
user 0m0.172s
sys 0m0.004s
Добавлено спустя 2 минуты 11 секунд:
>>В реальных задачах заказывают место не поэлементно, а порциями с запасом - тем более что по потреблению памяти этот вариант экономнее, чем прочие, в 3..5 раз
Естественно, тут вы точно сказали сколько элементов понадобится, остальные были вынуждены догадываться))