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,072
Dołączył: 02-02-2009
Post: #13
RE: Porównanie języków programowania
Pawle, dziękuję za szybką odpowiedź i udział w testach. Widać wyraźnie, że wyniki na zmiennych typu float są porównywalne dla C CodeVision oraz Bascoma. Drobne różnice wynikają z innej składni języka, sposobu przekazywania parametrów czy organizację stosu danych.

Być może problem ze zmiennymi typu float w Bascomie jest związany z normalizację i denormalizacją danych. Tak mam napisaną bibliotekę na zmienny przecinek na procesory 8051. Aby zainicjować zmienną float dowolną wartością stałą muszą ją najpierw doprowadzić do formatu zapisu liczby zmiennoprzecinkowej (normalizacja). Aby po obliczeniach mieć ponownie format dwójkowy musimy ponownie dokonać konwesji formatu zmiennoprzecinkowego na jawną postać bajtową. Wykonywanie obliczeń na danych bez normalizacji daje oczywiście błędny wynik. Celowo normalizacja, denormalizacja to oddzielne funkcje aby nie robić ich za każdym razem a tylko wtedy gdy jest to potrzebne. Przy wielokrotnych obliczeniach robimy to tylko na wejściu na nowych danych oraz na końcowym wyniku obliczeń. Stałe mogą być znormalizowane na etapie kompilacji i tak przechowywane w kodzie co oszczędza czas procesora. Być może tak samo jest w Bascomie.

Nie ukrywam rozczarowania efektami uzyskanymi pod WinAVR, może ktoś z Kolegów posługujący się tym kompilatorem spróbuje "wycisnąć" coś więcej w ramach tego testu. Kończę wersję w ASM, wyniku po powrocie ze spotkania na PW.

Zapraszam do wykonania testu na innych procesorach Bascom51, ASM51, C_51, PIC, ARM.

-------------------------------------------------------------------------------------
Wstępne wyniki dla assebmlera AVR przy obliczeniach na 64 bitach są takie:

Kod: 162 bajt (8+154)
Cykle: 1774 (4+1770)
RAM: 12 bajt

Zapewne Koledzy zastanawiają się czy to możliwe, czy raczej żart "prima aprilis-owy" ?

73 Adam
01-04-2012 12:25
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 12:25

Skocz do:


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