Заполнить вектор с помощью итераторов с возрастающими значениями и измерить время

141
05 мая 2019, 04:00

Код:

start = clock();
for (int i = 0; first != last; ++i)
{
    *first = i;
    first++;
}
finish = clock();
res = finish - start;
cout << "Цикл с итераторами:" << res << "ms" << endl;

Код вроде нормальный (не уверен в этом). Но алгоритм выполняется за 0 мс. Как это исправить? Размер вектора = 100000000;

Answer 1

Во-первых, можно повторить эти же действия в цикле несколько сотен/тысяч раз.

И заодно воспользоваться не тормознутым clock(), а high_resolution_clock.

И еще - Гантерот вам в помощь, у него этот вопрос рассмотрен более-менее подробно.

READ ALSO
Помогите настроить Jenkins

Помогите настроить Jenkins

Просьба помочь в настройке jenkins для запуска автотестов Java+Selenium+Cucumber Локально тесты запускаются а вот запустить на Jenkins не получаетсяPom Использую...

153
Ошибка при выводе информации объекта из массива

Ошибка при выводе информации объекта из массива

Судя по всему у вас в массив employers лежит null после работника с именем "b"Посмотрите, как он мог туда попасть

174
Dependency Injection, временные переменные и примитивы

Dependency Injection, временные переменные и примитивы

Предположим в одном из компонентов, в каком-то методе нужно открыть файлЕсли делать это через BufferedReader в блоке try/catch с ресурсами, например,...

143
Количество созданий новых строк в куче

Количество созданий новых строк в куче

Один из вопросов в OCA7 выглядит так:

132