Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Porównanie języków programowania
SP5FCS Offline
Adam
*****

Liczba postów: 1,071
Dołączył: 02-02-2009
Post: #11
RE: Porównanie języków programowania
Robi się coraz ciekawiej, Bascom wypada lepiej niż WinAVR Huh

Pawle aby było sprawiedliwie dla wszystkich kompilatorów f_vfo i f_clk należy zadeklarować nie jako stałe a jako zmienne ( kod Bascom ). W normalnym programie najczęściej są one zmieniane dynamicznie w trakcie programu. Przy stałych odpadają funkcje konwersji formatów.
Tradycyjnie poproszę o pliki wynikowe wygenerowane z Bascom aby popatrzeć dlaczego wypada tak dobrze.

Zmieniłem lekko kod zadania testowego aby wyeliminować obliczenia wykonywane przez kompilator w czasie kompilacji.
Wyniki dla kompilatora WinAVR nadal są bardzo złe, może należy coś poustawiać w optymalizacji kodu ???
Nie mam pojęcia dlaczego najpopularniejszy kompilator dla procków AVR wypada najsłabiej w tych testach.

Kod:
////////////////////////////////////////////////////////////////////////
// Test_1 - obliczanie nastawy dla AD9951
////////////////////////////////////////////////////////////////////////

unsigned long int f_clk=400000000;
unsigned long int FTW;

void Oblicz_FTW (unsigned long int f_vfo)
{
FTW= (unsigned long int) ( (float) 0x100000000 * f_vfo/f_clk );
}

void main(void)
{
Oblicz_FTW(20000000);        //oblicz FTW dla f_vfo=20MHz
}

WinAVR: kod: 3920 bajt, RAM: 272, cykle: 7532
CodeVision: kod: 802 bajt, RAM: 8, cykle 1372


Załączone pliki
.zip  test_1_cv2.zip (Rozmiar: 26.9 KB / Pobrań: 705)
.zip  test_1_win2.zip (Rozmiar: 38.11 KB / Pobrań: 689)

73 Adam
01-04-2012 2:09
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Wiadomości w tym wątku
RE: Porównanie języków programowania - SP5FCS - 01-04-2012 2:09

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości