powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Опять завалил собеседование
5 сообщений из 55, страница 3 из 3
Опять завалил собеседование
    #38548869
Вася Уткин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anatoly MoskovskyИ переделанный с учетом этого STL, автоматически ускорил (не везде конечно) существующий С++03 код, который про && и move вообще не в курсе.
А можете привести такой пример?
Потому как в примере выше, переделанный с учетом этого STL, все таки не ускорял автоматически существующий C++03 код, т.к. было добавлено emplace_back() и move(), что уже не C++03 код :)
...
Рейтинг: 0 / 0
Опять завалил собеседование
    #38549051
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вася УткинА можете привести такой пример?
Потому как в примере выше, переделанный с учетом этого STL, все таки не ускорял автоматически существующий C++03 код, т.к. было добавлено emplace_back() и move(), что уже не C++03 код :)
Могу, че ж не привести.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
void add_noopt()
{
    value_t temp(gen_value());
    v.push_back(temp);
}

void add_opt()
{
    v.push_back(gen_value());
}

template <typename AddFn> void test2(AddFn fn)
{
    const size_t N = 1000000;
    v.clear();
    boost::posix_time::ptime t1 = boost::posix_time::microsec_clock::universal_time();
    for(size_t i = 0; i < N; ++i) {
        fn();
        v.clear(); // consume generated value
    }
    boost::posix_time::ptime t2 = boost::posix_time::microsec_clock::universal_time();
    cout << (t2-t1) << endl;

}

int main()
{
    test2(add_noopt);
    test2(add_opt);
    test2(add_noopt);
    test2(add_opt);

    return 0;
}



Если откомпилировать в режиме С++03 то получим такие цифры
00:00:03.441272
00:00:03.446451
00:00:03.444534
00:00:03.463694

В режиме С++11
00:00:03.437164
00:00:02.194824
00:00:03.394935
00:00:02.191499

По моему функция add_opt очень так неплохо соптимизировалась в 1.57 раза.
Предоставляю Кукараче2014 возможность разобраться почему add_noopt не соптимизировалась
...
Рейтинг: 0 / 0
Опять завалил собеседование
    #38549131
cucaracha2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anatoly MoskovskyПредоставляю Кукараче2014 возможность разобраться почему add_noopt не соптимизировалась
это очень интересно: почему с использованной временной переменной код получился быстрее более чем в 2 раза
я думаю что это нужно спрашивать у разраюотчиков
...
Рейтинг: 0 / 0
Опять завалил собеседование
    #38549140
cucaracha2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cucaracha2014Anatoly MoskovskyПредоставляю Кукараче2014 возможность разобраться почему add_noopt не соптимизировалась
это очень интересно: почему с использованной временной переменной код получился быстрее более чем в 2 раза
я думаю что это нужно спрашивать у разработчиков
это уже за гранью добра и зла
...
Рейтинг: 0 / 0
Опять завалил собеседование
    #38549449
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cucaracha2014я думаю что это нужно спрашивать у разраюотчиков
Либо авторследует отказаться от карьеры разработчика с++
...
Рейтинг: 0 / 0
5 сообщений из 55, страница 3 из 3
Форумы / C++ [игнор отключен] [закрыт для гостей] / Опять завалил собеседование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]