Koleżankom i Kolegom Radioamatorom, Krótkofalowcom,
Konstruktorom i Waszym Rodzinom – w tych trudnych czasach –
po dotkliwej awarii naszego forum
Pogodnego czasu po Bożym Narodzeniu,
Dosiego Nowego Roku
oraz Radosnych Trzech Króli

Życzy Zespół Home Made

Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Porównanie języków programowania
#3
Pawle, jak najbardziej masz rację co do wielkości kodu startowego dla różnych procesorów oraz kompilatorów. Aby było jednolicie proponuję przyjąć jakiś popularny procesor AVR np. Atmega32. Moim zdanie w teście należy uwzględniać wszystko od adresu 0000h do końca testu, może być jako suma (prolog+test).

Pomijanie wielkości kodu startowego ( tzw. prologu ) oraz czasu jego wykonania nie do końca jest słuszne. Kompilator często umieszcza tam funkcje biblioteczne, procedury optymalizacyjne, inicjuje zasoby procesora, zmienne, stos danych a potem z nich korzysta podczas realizacji głównej części programu. Dlaczego więc mielibyśmy nie uwzględniać takich ułatwień, które kompilator przygotuje sobie do dalszej pracy ?

Drugi powód to możliwości optymalizacyjne kompilatora. Dobry kompilator usunie wszystko z czego nie będzie korzystał w celu redukcji wielkości kodu, słaby zostawi całą dołączoną bibliotekę.

Trzeci powód to możliwości konfiguracyjne kompilatora. Procesor powinien inicjować to co jest wykorzystane w programie a nie to "co mu pasuje". Sam swego czasu pytałeś czy w WinAVR da się zmusić kompilator GCC aby nie omijał wektorów przerwań i umieszczał tam normalny kod programu. Może jakiś kompilator ma taką dyrektywę ?

Algorytm zadania testowego jest prosty jednak formaty danych oraz obliczenia generują wystarczająco duży kod do porównania.
Tak naprawdę chodzi o praktyczne pokazanie różnić pomiędzy językami przy realizacji tego samego algorytmu.

73 Adam
Odpowiedz


Wiadomości w tym wątku
Porównanie języków programowania - przez SP5FCS - 29-03-2012, 23:19

Skocz do:


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