ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
6 мая
801226 Топик полностью
йцукен (11.12.2017 14:31, просмотров: 159) ответил VLLV на тут зависит от стиля программирования на С. Я как захерачу X-макросы, что все работает только на высшей оптимизации. И что тут сравнивать? Если писать в ассемблерном стиле на С, будет минимальная разница.
Если можно, поясните на конкретном примере. Вот функция, работу которой я хотел бы ускорить (FIR-фильтр). Это в ассемблерном стиле? И в каком другом стиле это можно написать?  int16_t get( void ) // read single value { const int16_t *px = buf+out; const int16_t *pc = coeff; int32_t acc = 0; if ( out + taps <= buf_sz ) { for ( int j = taps; j; j-- ) acc += int32_t(*pc++) * *px++; } else { for ( int j = buf_sz - out; j; j-- ) acc += int32_t(*pc++) * *px++; px = buf; for ( int j = out + taps - buf_sz; j; j-- ) acc += int32_t(*pc++) * *px++; } out += decim; if ( out > buf_sz ) out -= buf_sz; return int16_t( __SSAT( acc >> shift_right, 16 ) ); }