Здравствуйте, Sinix, Вы писали:
EP>>Не думаю что из-за проверки индекса будет такая разница — branch predictor должен с ней неплохо справится. Желательно посмотреть какой там ASM получается.
S>+1. У меня разница между массивом и списком 60ms/88ms.
Это хорошо.
EP>>На MSVC++ если использовать std::vector::at, внутри которого такая же проверка, то там разница на десятки процентов а не в разы.
S>Кстати, а есть возможность проверить плюсовый код отсюдаАвтор: greenpci
Дата: 05.06.15
с дефолтными настройками проекта (console application)?
S>У меня какая-то ересь получается.
S>VS2013, релиз, win32, без отладчика на настройках проекта по умолчанию выдаёт
S>S>Elapsed = 189.011 ms
S>
S>Чтоб собралось без особых вмешательств — убрал constexpr, отключил precompiled headers в настройках и убрал load_complex_sequence() (всё равно не используется).
Я сделал тоже самое MSVS2012 — у меня на Sandy Bridge C++ 60ms (C# 69ms), на Nehalem C++ 84ms (C# 88ms)