数组中值的快速乘法

Jak*_*kob 6 c++ arrays optimization multiplication

有没有一种快速的方法来在C++中乘以浮点数组的值,以优化此函数(其中count是4的倍数):

void multiply(float* values, float factor, int count)
{
    for(int i=0; i < count; i++)
    {
        *value *= factor;
        value++;
    }
}
Run Code Online (Sandbox Code Playgroud)

解决方案必须适用于Mac OS X和Windows,Intel和非Intel.想想SSE,矢量化,编译器(gcc与MSVC).

Oli*_*rth 2

如果您希望代码是跨平台的,那么您要么必须编写与平台无关的代码,要么必须编写大量代码#ifdef

您是否尝试过一些手动循环展开,看看它是否有什么不同?