Lua dla Freemint.

luaLua jest szybki, mały, dynamicznie typowany i wypasiony. Jest konsola interaktywna, można skompilować skrypt do bytecodu, są „list comprehensions” i sporo tego, co lubię z Pythona… Co ważniejsze: jak widać powyżej, jest szybko. Powiedziałbym nawet że bardzo szybko. Binarka Lua-5.2.3 dla Atari ST (skompilowana GCC-4.6.4) dla zainteresowanych tutaj. Tym razem niestety na Mist w trybie STEroids jest wolniej niż w Hatari (68020). A co dziwniejsze: w ST Mint uruchomienie bytecodu jest wolniejsze od interpretowanego pliku .lua (w Hatari też), a we Freemint w Aranym jest 2x szybsze (czego należałoby się spodziewać). Zwariować można. Nie zmienia to faktu, że Lua jest najszybszym językiem tego rodzaju, z jakim miałem do czynienia.

Update: Poniżej zrzut ekranu z Lua-5.0.2 (link do webarchives) skompilowanego PureC w 2006 przez Thorstena Butschke:
lua_purecJak widać Lua jest sporo szybszy. Może po prostu GCC kiepsko optymalizuje kod, chociaż nie chce mi się w to wierzyć. Z drugiej strony wersja 5.0.2 skompilowana GCC-4.6 działa tak samo szybko jak 5.2.3 i nie daje mi spokoju, że 16-bitowy retro-kompilator daje szybszy kod… Może to kwestia manipulacji 32-bitowymi typami danych w GCC, a może narzut starej wersji Mintlib/stdlib w ST Mint i/lub libgcc, ciężko stwierdzić. Binarka Lua-5.2.3 skompilowana GCC jest w każdym razie w pełni funkcjonalna, a kompilacja w PureC to taki mój eksperyment. Swoją drogą to bardzo fajny kompilator i IDE. Tutaj jest paczka z plikami projektu Lua-5.0.2 dla PureC, więc warto  powalczyć😉.

Update: Udało mi się w PureC 1.1 skompilować Lua-5.0.3:purec_lua503Binarka (wrzucam tutaj) działa w STMint znacznie szybciej niż kompilacje gcc.
lua503W Vbcc Lua-5.2.3 się kompiluje, ale działa nieprawidłowo (złe parsowanie plików i obsługa konsoli interaktywnej, pewnie dałoby się ogarnąć). AHCC odpada na starcie. Niby aktywnie rozwijany (ostatnia wersja z września 2014), ale nie radzi sobie już na etapie dołączania plików nagłówkowych, a komunikaty są mało pomocne w znalezieniu rozwiązania. Próbuje skompilować wersję 5.2.3 w PureC (2 moduły się jeszcze nie budują i niestety jeden z nich wymaga modyfikacji lub przepisania skomplikowanego makra). Fajnie byłoby też skompilować Tinypy. Ogólnie dobra okazja, żeby sobie odświeżyć ANSI C.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s