Oracle prezentuje kompilator GraalVM, który pozwala szybciej uruchamiać programy z dowolnego miejsca

oracle 120Obecnie stosowane maszyny wirtualne (VM) pracujące w środowisku produkcyjnym zapewniają wysoką wydajność opracowywanych programów tylko dla danego języka lub niewielkiego zestawu języków. Takie operacje jak kompilacja, zarządzanie pamięcią i obsługa programów narzędziowych są realizowane oddzielnie w poszczególnych językach, co narusza zasadę „nie powtarzaj się” (ang. don’t repeat yourself — DRY).

 REKLAMA 
 ERP-VIEW.PL- STREAMSOFT 
 
Obciąża to nie tylko zespół wdrażający maszyny wirtualne, lecz także programistów z powodu niespójnych narzędzi, wydajności i konfiguracji. Ponadto komunikacja między programami napisanymi w różnych językach wymaga kosztownego opracowania logiki serializacji i deserializacji. Oprócz tego w wysokowydajnych maszynach wirtualnych stosowane są mocno rozbudowane procesy o wysokim zużyciu pamięci, które są trudne do wbudowania.

Aby przezwyciężyć te braki, Oracle Labs kilka lat temu rozpoczął realizację nowego projektu badawczego dotyczącego nowatorskiej architektury maszyn wirtualnych. Wizja tego projektu przewidywała stworzenie pojedynczej maszyny wirtualnej, która zapewniałaby wysoką wydajność dla wszystkich języków programowania, ułatwiając w ten sposób komunikację między programami. Nowa architektura obsługiwałaby ujednolicone narzędzia, niezależne od języka, co ułatwiałby utrzymanie oprogramowania.

Kompilator GraalVM

Oracle prezentuje GraalVM w wersji 1.0 — uniwersalną maszynę wirtualną zaprojektowaną do obsługi wielu języków. GraalVM zapewnia wysoką wydajność dla poszczególnych języków, a także zgodność operacyjną bez jakiegokolwiek obciążenia wydajności przy tworzeniu wielojęzycznych aplikacji. Zamiast konwertować struktury danych na granicach pomiędzy różnymi językami, GraalVM zezwala na używanie obiektów i macierzy bezpośrednio w językach obcych.

Przykładowe warianty stosowania przewidują np. uzyskiwanie dostępu do funkcjonalności zgromadzonych w bibliotece Java przy pomocy kodu Node.js, wywoływanie procedury statystycznej Pythona z języka Java lub użycie R do tworzenia złożonego wykresu SVG na podstawie danych zarządzanych w innym języku. Dzięki GraalVM programiści mogą swobodnie używać języka, który według nich najlepiej się nadaje do rozwiązania bieżącego zadania.

Źródło: www.oracle.com

PRZECZYTAJ RÓWNIEŻ:


Back to top