日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python

發布時間:2023/12/3 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自? ?屌炸天,Oracle 發布了一個全棧虛擬機 GraalVM,支持 Python

前陣子,Oracle 發布了一個黑科技 "GraalVM",號稱是一個全新的通用全棧虛擬機,并具有高性能、跨語言交互等逆天特性,真有這么神奇?

GraalVM 簡介

GraalVM 是一個跨語言的通用虛擬機,不僅支持了 Java、Scala、Groovy、Kotlin 等基于 JVM 的語言,以及 C、C++ 等基于 LLVM 的語言,還支持其他像 JavaScript、Ruby、Python 和 R 語言等。

GraalVM 有以下幾個特性。

  • 更加高效快速的運行代碼

  • 能與大多數編程語言直接交互

  • 使用 Graal SDK 嵌入多語言

  • 創建預編譯的原生鏡像

  • 提供一系列工具來監視、調試和配置所有代碼

官網:http://www.graalvm.org/

GraalVM 有什么用?

1、支持多種語言組合編程

來看下面這段代碼,來自官網。

const express = require('express');const app = express();app.listen(3000);app.get('/', function(req, res) {var text = 'Hello World!';const BigInteger = Java.type('java.math.BigInteger');text += BigInteger.valueOf(2).pow(100).toString(16);text += Polyglot.eval('R', 'runif(100)')[0];res.send(text);})

這段代碼它同時使用了 Node.js、Java、R 三種語言,是不是很奇葩?

GraalVM 消除了各種編程語言之間的隔離性,那這種多編程語言結合使用會不會有性能影響?官方的說明是:零開銷的互操作,這樣,我們就可以為應用程序選擇最佳的編程語言組合。

2、原生鏡像加速

來看這段代碼,同樣來自官網。

  • $ javac HelloWorld.java

  • $ time java HelloWorld

  • user 0.070s

  • $ native-image HelloWorld

  • $ time ./helloworld

  • user 0.005s

  • GraalVM 可以預編譯成原生鏡像,從而極大提速了啟動時間,并能減少 JVM 應用的內存占用。

    4、可嵌入式運行環境

    GraalVM 可以被嵌入到各種應用程序中,既可以獨立運行,也可以在已經內置好的 OpenJDK、Node.js、Oracle、MySQL 等環境中運行。

    結合上面的特性,我們來看下 GraalVM 的架構圖。

    ?

    GraalVM 版本介紹

    如下圖所示,GraalVM 提供了社區版和企業版兩個版本。

    ?

    從特性來看,上述所說的高性能、內存優化貌似都在企業版中??企業版或者可能只是在社區版上又增加了額外的提升吧!

    社區版下載:github.com/oracle/graal/releases

    總結

    GraalVM 這玩意看起來很不錯,可以說這就是一個全棧開發平臺,不僅支持主流編程語言,還能組合在一起編程,根據不同任務來選擇最佳的語言。另外。它還能提高更高的執行效率,以及占用更少的內存。

    至于應用場景,是否可應用于生產,現在還真不好說。這么一個變態級的產品,我們期待它有更好的發展吧。

    總結

    以上是生活随笔為你收集整理的屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。