Я сделал кое-что о Power 7, и я видел очень странные вещи с компилятором XLC.Но не так странно, как это!(по крайней мере, не в 60 раз ...)
В серии PowerPC следует отметить одну вещь (по крайней мере, для Power6 и Power7): задержка команд очень велика, а выполнение вне очереди очень велико.слабый по сравнению с x86 / x64.
Следовательно, внутренний цикл (как написано в вашем коде) будет иметь очень низкий IPC.
Теперь я могу представить, что вы получаете 60-кратное ускорение.что внутренний цикл полностью развернут под -O3 .Это возможно, поскольку статический счетчик внутреннего цикла может быть определен как 63.
Развертывание этого внутреннего цикла в основном позволит заполнить весь конвейер.
Конечно, япросто угадаюЛучше всего посмотреть на сборку.
Кроме того, как вы рассчитываете это?Много странного поведения, которое я видел на PowerPC, связано с самими таймерами ...
РЕДАКТИРОВАТЬ:
Поскольку ваш пример кода довольно прост, его будет очень легко обнаружить (в сборке) независимо от того, частично или полностью развернут этот внутренний цикл.