我正在尝试优化一些C代码,这是我的第一次.作为第一步,我转储了我的可执行文件,以便查看汇编程序代码.例如,对于此功能:
void init_twiddle(int N)
{
int i=0;
for(i=0; i<ELEMENTS_HALF; i++)
{
twiddle_table[i].re = (float) cos((float)i * 2.0 * PI / (float)N);
twiddle_table[i].im = (float) - sin((float)i * 2.0 * PI / (float)N);
}
}
Run Code Online (Sandbox Code Playgroud)
如果我这样做会不会更好:
void init_twiddle(int N)
{
int i=0;
float puls = 2.0 * PI / (float)N;
for(i=0; i<ELEMENTS_HALF; i++)
{
twiddle_table[i].re = (float) cos((float)i * puls);
twiddle_table[i].im = (float) - sin((float)i * puls);
}
Run Code Online (Sandbox Code Playgroud)
为了避免重复数千次的mult和div操作?}