LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

Самый примитив, просто создание контейнера, хранящего айтемы по 64 байта каждый, добавление в него указанного пользователем количества айтемов, уничтожение контейнера. Никакого читерства типа преаллокации вектора. Никакой итерации (ну, кроме необходимой в деструкторе). Всего 3 контейнера, стандартный вектор, стандартный двусвязный список, и самый примитивный односвязный список. Так вот, до миллиона включительно вектор со всеми реаллокациями уделывает обе реализации списков.

ты меряешь сколько надо времени чтобы набить список или массив элементами. это некорректно, потому что списки предназначены для манипуляции с элементами вида - включение/ удаление/ перестановка.

в данном случае списки тормозят на new.

заполни списки/массивы свои 10 тыс элементов(это время не мерить), и мерь время мильона вставок/удалений например первого элемента списка и массива. список брать std:list.

удаляемый из списка элемент не деалокируй. удалил из списка, вставил обратно. чтобы не было new/delete

Исходная версия alysnix, :

Самый примитив, просто создание контейнера, хранящего айтемы по 64 байта каждый, добавление в него указанного пользователем количества айтемов, уничтожение контейнера. Никакого читерства типа преаллокации вектора. Никакой итерации (ну, кроме необходимой в деструкторе). Всего 3 контейнера, стандартный вектор, стандартный двусвязный список, и самый примитивный односвязный список. Так вот, до миллиона включительно вектор со всеми реаллокациями уделывает обе реализации списков.

ты меряешь сколько надо времени чтобы набить список или массив элементами. это некорректно, потому что списки предназначены для манипуляции с элементами вида - включение/ удаление/ перестановка.

в данном случае списки тормозят на new.

заполни списки/массивы свои 10 тыс элементов(это время не мерить), и мерь время мильона вставок/удалений например первого элемента списка и массива. список брать std:list.