реклама на сайте
подробности

 
 
> Fortran & ARM, а фортранчик быстрее С ....
klen
сообщение May 24 2008, 21:03
Сообщение #1


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



очередной эксперемент по глумлению (над чем сами для себя решайте)

имеем : GNU GCC, контроллер lpc2148 и функцию f(a,x)=sqrt( fabs(cos( exp(a) + sin(log(x)))))

код на С

float func_c (float a , float x)
{
return sqrt( fabs(cos( exp(a) + sin(log(x)))));
}

код на фортране

REAL FUNCTION FF(A,X)
REAL A,X
FF=SQRT(ABS(COS( EXP(A) + SIN(LOG(X)))));
END FUNCTION FF


все это компиляется ( -Os )в один проект, заливается и запускается

выполняется кусок
FIO1DIR |= _BV(24) ;
while(1)
{
FIO1CLR |= _BV(24) ;
res=ff_(&x,&y);
FIO1SET |= _BV(24) ;
res = func_c (x,y);
}

на 24 пине мерятся импулсы осцилом
итого на фртране 136 микросекунд
на С 252 микросекунд
результаты расчета верны для обоих вызовов. разница по скорости в 2 раза

ОДНАКО ЗАБАВНО!

вот думаю вычисления в циклах на фортране написать. почему нет?
инструмент есть - нада пользоватся!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 05:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01353 секунд с 7
ELECTRONIX ©2004-2016