Информация об изменениях

Сообщение Re[36]: benchmark от 10.01.2017 12:46

Изменено 11.01.2017 23:40 Evgeny.Panasyuk

Re[36]: benchmark
Здравствуйте, lpd, Вы писали:

lpd>Я еще пока не успел разобраться в твоем тесте, но думаю, что дело в вызовах boost.


В каких? boost::accumulate вызывает std::accumulate.
boost::adaptors::indirected без проблем инлайнится, например:
.L152:
    add    edx, DWORD PTR [rax]
    add    rax, 4
    cmp    rcx, rax
    jne    .L152

Ок, допустим ты на adaptors::indirected думаешь, но как тогда в твоей картине мира объясняется более чем стократное торможение на list<int>? — там никакого adaptors::indirected.

Ладно, вместо тысячи слов — встречайте её могущество копипаста без boost'а. Соотношения получились примерно те же самые
Re[36]: benchmark
Здравствуйте, lpd, Вы писали:

lpd>Я еще пока не успел разобраться в твоем тесте, но думаю, что дело в вызовах boost.


В каких? boost::accumulate вызывает std::accumulate.
boost::adaptors::indirected без проблем инлайнится, например:
.L152:
    mov    rcx, QWORD PTR [rax]
    add    rax, 8
    add    edx, DWORD PTR [rcx]
    cmp    rsi, rax
    jne    .L152

Ок, допустим ты на adaptors::indirected думаешь, но как тогда в твоей картине мира объясняется более чем стократное торможение на list<int>? — там никакого adaptors::indirected.

Ладно, вместо тысячи слов — встречайте её могущество копипаста без boost'а. Соотношения получились примерно те же самые