To forum używa plików cookies
To forum wykorzystuje pliki cookies do przechowywania informacji o Twoim logowaniu, jeśli jesteś zarejestrowany, oraz informacji o Twojej ostatniej wizycie, jeśli nie jesteś zalogowany. Pliki cookies to niewielkie pliki tekstowe zapisywane na Twoim komputerze; cookies ustawiane przez to forum mogą być używane wyłącznie na tej stronie i nie stanowią zagrożenia dla bezpieczeństwa. Cookies na tym forum śledzą również, które tematy zostały przez Ciebie przeczytane oraz kiedy miało to miejsce. Prosimy o potwierdzenie, czy akceptujesz, czy odrzucasz zapisywanie tych plików cookies.

Niezależnie od wyboru w Twojej przeglądarce zostanie zapisany plik cookie, aby zapobiec ponownemu zadawaniu tego pytania. W każdej chwili będziesz mógł zmienić ustawienia cookies, korzystając z linku w stopce strony.

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
Cytuj


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