ProHoster > Blog > vaovao amin'ny Internet > Famoahana 19.3.0 amin'ny milina virtoaly GraalVM sy ny fampiharana ny Python, JavaScript, Ruby ary R mifototra amin'izany
Famoahana 19.3.0 amin'ny milina virtoaly GraalVM sy ny fampiharana ny Python, JavaScript, Ruby ary R mifototra amin'izany
Oracle Company namoaka famoahana milina virtoaly manerantany GraalVM 19.3.0, izay manohana fampiharana mihazakazaka amin'ny JavaScript (Node.js), Python, Ruby, R, fiteny rehetra ho an'ny JVM (Java, Scala, Clojure, Kotlin) sy fiteny izay ahafahan'ny LLVM bitcode (C, C++) , Rust). Ny sampana 19.3 dia sokajiana ho famotsorana Long Term Support (LTS) ary miavaka MANAMPY JDK11, anisan'izany ny fahafahana manangona kaody Java ho rakitra azo tanterahana (GraalVM Native Image). Kaody tetikasa nozarain'i nahazoan-dalana GPLv2. Nandritra izany fotoana izany, navoaka ny dikan-teny vaovao Python, JavaScript, Ruby ary R amin'ny fampiasana ny GraalVM - GraalPython, GraalJS, TruffleRuby ΠΈ FastR.
GraalVM TENA Mpanamboatra JIT izay afaka manatanteraka kaody avy amin'ny fiteny scripting rehetra amin'ny lalitra ao amin'ny JVM, ao anatin'izany ny JavaScript, Ruby, Python ary R, ββary koa mamela ny fampandehanana ny kaody teratany ao amin'ny JVM niova ho LLVM bitcode. Ny fitaovana nomen'ny GraalVM dia ahitana ny debugger tsy miankina amin'ny fiteny, ny rafitra profiling, ary ny mpandinika fizarana fahatsiarovana. Ny GraalVM dia mamela anao hamorona rindranasa mitambatra miaraka amin'ireo singa amin'ny fiteny samihafa, ahafahanao miditra amin'ny zavatra sy array avy amin'ny kaody amin'ny fiteny hafa. Ho an'ny fiteny mifototra amin'ny JVM dia misy fahafahana mamorona rakitra azo tanterahana natambatra ho kaody milina izay azo tanterahina mivantana miaraka amin'ny fanjifana fahatsiarovana kely indrindra (ny fitadidiana sy ny fitantanana kofehy dia ampiharina amin'ny fampifandraisana ny rafitra substrate VM).
Namboarina ny olana momba ny fampisehoana zavatra pandas.DataFrame.
diso fanodinana ny tuple amin'ny bytes.startswith,
fanimbana ny fanendrena ny mpizara sy ny fampiasana ny dict.__contains__ ho an'ny rakibolana;
Fanampiana fanampiny ho an'ny ast.PyCF_ONLY_AST, izay NAVELA HIDITRA miantoka fa miasa ny pytest;
nanampy fanohanana PEP 498 (fampidirana tady amin'ny litera);
Fahombiazan'ny parser nohatsaraina, caching miavaka,
miditra amin'ny zavatra Python avy amin'ny code JVM. Ny valin'ny fitsapana fahombiazana nohatsaraina ho an'ny kaody python sy ny fanitarana teratany (ny fanatanterahana ny fanitarana teratany eo an-tampon'ny llvm dia midika fa ny llvm bitcode dia alefa any amin'ny GraalVM ho an'ny JIT compilation).
Mba hanangonana ny fanitarana teratany, dia ampiasaina ankehitriny ny kitapom-pitaovana LLVM naorina, mamorona kaody teratany sy bitcode. Midika izany fa ny fanitarana teratany bebe kokoa dia tokony hanangona ivelan'ny boaty, hanafoana ny ankamaroan'ny olana mifandray;
Fametrahana LLVM misaraka amin'ny fametrahana fanitarana teratany ao amin'ny TruffleRuby;
Ny fametrahana fanitarana C++ amin'ny TruffleRuby dia tsy mitaky fametrahana libc++ sy libc++abi intsony;
Nampiana fanohanana mialoha ny fampandehanana ny fanitarana teratany mifototra amin'ny LLVM. Rehefa manangana fonosana R teratany, FastR dia namboarina hampiasa ny fitaovana LLVM naorina ao GraalVM. Ny rakitra binary vokarina dia ahitana kaody teratany sy LLVM bitcode.
Ny fonosana efa napetraka dia amboarina amin'izany fomba izany ihany koa.
FastR dia mitondra sy mampandeha ny kaody fanitarana teratany amin'ny alΓ lan'ny default, fa rehefa natomboka tamin'ny safidy "--R.BackEnd=llvm" dia bitcode no hampiasaina. Ny backend LLVM dia azo ampiasaina mifantina amin'ny fonosana R sasany amin'ny famaritana ny "--R.BackEndLLVM=pkg1,pkg2". Raha manana olana amin'ny fametrahana fonosana ianao dia azonao atao ny mamerina ny zava-drehetra amin'ny alΓ lan'ny fiantsoana fastr.setToolchain("native") na fanitsiana tanana ny rakitra $FASTR_HOME/etc/Makeconf;
Amin'ity famoahana ity, ny FastR dia mandefa tsy misy tranomboky fandefasana GCC;