Dostępny interpreter mruby 3.0

Został wydany mruby 3.0, osadzalny interpreter dynamicznego, obiektowego języka programowania Ruby. Mruby zapewnia zgodność składniową z Ruby 1.9, a także obsługuje wybrane funkcje z nowszych wersji. Interpreter charakteryzuje się niskim zużyciem pamięci i możliwością osadzania w innych aplikacjach. Ponadto obsługuje kompilację programów Ruby do kodu bajtowego za pomocą kompilatora „mrbc” opracowanego przez projekt. Kod mruby jest rozpowszechniany na licencji MIT.

Nowa wersja znacząco zmniejsza zużycie pamięci przez mruby VM. Poprzednie wersje wymagały kilkuset KB pamięci RAM, podczas gdy mruby 3.0 zużywa około 100 KB pamięci RAM. Kluczowe usprawnienia:

  • Zużycie pamięci RAM zostało zmniejszone poprzez optymalizację alokacji pamięci dla obiektów klasy Symbol. Zużycie pamięci dla obiektów klasy Hash zostało zmniejszone. Zoptymalizowano wywołania metod.
  • Dodano obsługę definicji metody jednowierszowej bez użycia słowa kluczowego „end”: def square(x) = x * x
  • Dodano operator „=>” (wartości => zmienna), który służy do przypisywania wartości po prawej stronie. 0 => apa #=> 0 {b: 0, c: 1} => {b:} pb #=> 0
  • Wsparcie dla budowy heredoków.
  • Zaktualizowano pliki kompilacji interpretera. Dodano kompilację z gprof. GCC może teraz kompilować w trybie 32-bitowym na platformach 64-bitowych. Dodano obsługę Address Sanitizera do Clanga.
  • Zmiana powodująca przerwanie działania: stała RITE_VM_VER ma teraz wartość 0300, a RITE_BINARY_FORMAT_VER ma teraz wartość 0200, co zapobiega wykonywaniu kodu bajtowego z poprzednich wersji.
  • Klasa Fixnum stała się częścią typu Integer, podobnie jak w Ruby 3.0. Klasa Integral została usunięta.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster