Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: странные тормоза
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
карамболь
при использовании операций с плавающей запятой обнаружил просто жуткие тормоза, вот пример не самой сложной функции -
#include "stdlib.h"
#include "float.h"
#include "math.h"
int main_calc()
{

int D = 1000, N, M;
float t = 2.0, Ta = 0, Fmax = 0, F0 = 100, A = 5;
for(N = 0; N < D; N++)
{
Ta += 1.0 / (F0 + A * N);
if(2 * Ta + (D - 2 * N) / (F0 + A * N) < t)
break;
}
Fmax = F0 + A * N;
return 0;
}
этот кусок выполняется около 30 секунд (кол-во итераций 106), использование оптимизатора дает выигрышь около 15%, что при такой производительности - как мертвому припарки ( я был в курсе, что гнутый компилятор довольно тормозной, но не до такой же степени ? может это я где то затупил ? спасибо
Сергей Борщ
Цитата(карамболь @ Sep 11 2008, 21:33) *
может это я где то затупил ?
Не знаю. Но нас явно толкаете на проявление чудес телепатии - что за процессор, на какой частоте работает, какие у вас основания пологать, что процессор работает именно на этой частоте? "Догадайся мол, сама".
Чтож, рискну. Процессор "по умолчанию" AT91SAMS64, по недоразумению работает от внутреннего генератора 32 КГц. А что вы хотели?
карамболь
Цитата(Сергей Борщ @ Sep 11 2008, 22:53) *
Не знаю. Но нас явно толкаете на проявление чудес телепатии - что за процессор, на какой частоте работает, какие у вас основания пологать, что процессор работает именно на этой частоте? "Догадайся мол, сама".
Чтож, рискну. Процессор "по умолчанию" AT91SAMS64, по недоразумению работает от внутреннего генератора 32 КГц. А что вы хотели?


процессор AT91SAMS256, в данный момент работает на частоте 48МГц
Сергей Борщ
Цитата(карамболь @ Sep 12 2008, 09:04) *
процессор AT91SAMS256, в данный момент работает на частоте 48МГц
AT91SAM7S64, 19.1МГц, из ОЗУ ваша функция исполяется ~10мс.

исправлено: ой, обманул. У меня MCK делился на 2 и осциллограф был не прогрет. Итого: ~3мс на 46.7МГц, ~7мс на 19.1МГц
zltigo
Цитата(Сергей Борщ @ Sep 12 2008, 11:56) *
из ОЗУ ваша функция....
~3мс на 46.7МГц, ~7мс на 19.1МГц

Что-то действительно тормозит smile.gif LPC2378 1,458 ms на 72.0034 MHz тактовой из Flash.
Сергей Борщ
Цитата(zltigo @ Sep 12 2008, 16:56) *
LPC2378 1,458 ms на 72.0034 MHz тактовой из Flash.
Ну, я замерял по ни разу не калиброванному за всю жизнь С1-114, но порядок совпадает. А в флеш просто лень было зашивать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.