Здравствуйте, greenpci, Вы писали:
EP>>А дело тут не в GC, а в постоянных cache miss'ах. Если на C++ сделать такой же memory layout — то точно также получим тормоза (подобный примерАвтор: Evgeny.Panasyuk
Дата: 18.10.14
).
G>А вот List, похоже, тормозит из-за проверки индекса, которую нельзя убрать, с помощью unsafe
Не думаю что из-за проверки индекса будет
такая разница — branch predictor должен с ней неплохо справится. Желательно посмотреть какой там ASM получается.
На MSVC++ если использовать std::vector::at, внутри которого такая же проверка, то там разница на десятки процентов а не в разы.
G>Кстати, ты плюсный код 13й студией компилировал? У меня нету на машине, не могу проверить если есть разница.
Под рукой 2012.