Siemanko.
Czytałem ostatnio artykuły Konrada Kokoszkiewicza o programowaniu grafiki w assemblerze, z których niestety nic nie zrozumiałem. Zaciekawiły mnie jednak przykłady zastosowania pewnych procedur w ramach testu wydajności i porównania ich z innym przeprowadzonym przez Wojciecha Zientarę pomiarami prędkości działania różnych języków programowania Atari.
Pan Wojciech porównał prędkość działania uruchamiając w różnych językach ten sam program, którego zadaniem jest wypełnienie ekranu GRAPHICS 24 instrukcjami graficznymi (PLOT) a następnie wyczyszczenie go operując bezpośrednio na pamięci (POKE).
Uzyskał takie oto wyniki:
WojciechZientara 24840 Atari Basic
WojciechZientara 16709 C (Deep Blue)
WojciechZientara 10807 Basic XE
WojciechZientara 9197 Turbo Basic XL
WojciechZientara 5689 Basic skompilowany
WojciechZientara 4565 Action!
Konrad dzięki swoim procedurom graficznym nieco w tej tabeli zamieszał:
KMK 2233 Assembler 1
KMK 341 Assembler 2
KMK 177 Assembler 3
Osobiście wydaje mi się, że zaproponowana przez Pana Wojciecha metoda porównania jest bez sensu, ponieważ języki programowania posiadają własne instrukcje, do wykonania określonych zadań i dzięki temu dany język jest atrakcyjniejszy (szybszy). Po grzyba porównywać w różnych językach jak szybko wykona się np.: SOUND 0,0,0,0:SOUND 1,0,0,0: SOUND 2,0,0,0:SOUND 3,0,0,0 jeśli w takim Turbo Basic XL wykonać można: SOUND.
Podobnego zdania był Tomasz Cieślewicz, który napisał w Action! programik zjeżdżając z wynikiem do:
Tomasz Cieślewicz 7 Action!
Spodobała mi się ta gierka. W związku z tym chciałbym zaproponować zabawę polegającą na napisaniu programu w Turbo Basic XL, wykonującego podobnie do pierwotnego założenia programu następujące operacje:
1. zerowanie zegara TIME$, włączenie trybu graficznego 8 bez okna tekstowego
2. zamazanie ekranu na biało
3. wyczyszczenie ekranu
4 odczyt i wyświetlenie wskazania zegara TIME
Na chwilę obecną nie trzeba przedstawiać listingów, piszemy w czystym TBXL, bez wstawek maszynowych czy wywołań OS. Uzyskane wyniki wpisujemy na listę wyników odpowiednio sortując. Dopuszczalne są wielokrotne wpisy. Zwycięzca z najkrótszym czasem ujawnia listingi i jeśli nie będą budziły zastrzeżeń otrzyma nagrodę rzeczową. Tematy sporne oprzemy o bufet.
Pozwolę zacząć od siebie budując wzorzec tabeli:
Kto TIME opis
=====================================
Wojciech Zientara 9197 TBXL oryginalny
Cobol 692 TBXL program nr 1
Cobol 362 TBXL program nr 2