07.06.2007, 15:19 | #1 |
Участник
|
контейнер: '+=' vs 'conins' небольшое исследование
Чтоб прочуствовать разницу при использовании вставки в контейнер оператором += и функцией conins написал задачку которая делает вставку в конец контейнера строки int2str(счетчик итераций).
Вот результаты для 100000 итераций: 1) оператор += int2str(i);
2) функция conins(con,conlen(con)+1,int2str(i)); *(поправил)
Замеры кучи сделаны до заполнения контейнера и перед его уничтожением (на всякий случай сделал сжатие кучи), так что в памяти теоретически именно структура контейнера. Все относительно-приблизительно , но выводы относительно скорости работы и занимаемой памяти однозначны. (по памяти результаты с conins перемерял - теперь видно что порядок примерно одинаковый)* PS: для 300000 итераций метод с conins выдал Heap check (байты) после запуска "-396071760" , чтой-то с heap классом стало...
__________________
--- SHiSHok Последний раз редактировалось SHiSHok; 07.06.2007 в 16:17. |
|
|
За это сообщение автора поблагодарили: belugin (5), kashperuk (3), Logger (3), konopello (2). |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|