Π Π΅Π»ΠΈΠ· Π½Π° 19.3.0 Π½Π° унивСрсалната Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина GraalVM ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Python, JavaScript, Ruby ΠΈ R Π½Π° Π½Π΅ΠΉΠ½Π° основа

Компания Oracle Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π»Π° ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° унивСрсална Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина GraalVM 19.3.0, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‰Π° стартиранС Π½Π° прилоТСния Π½Π° JavaScript (Node.js), Python, Ruby, R, всякакви Π΅Π·ΠΈΡ†ΠΈ Π·Π° JVM (Java, Scala, Clojure, Kotlin) ΠΈ Π΅Π·ΠΈΡ†ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π±ΠΈΡ‚ΠΊΠΎΠ΄ LLVM (C, C++, Rust). ВСрсия 19.3 Π΅ класифицирана ΠΊΠ°Ρ‚ΠΎ вСрсия с Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° (LTS) ΠΈ Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° JDK 11, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° Java-ΠΊΠΎΠ΄ Π² изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ (GraalVM Native Image). ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сС разпространява Π΅ ΠΏΠΎΠ΄ лицСнзия GPLv2. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ са ΠΈΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ вСрсии Π½Π° Π΅Π·ΠΈΡ†ΠΈΡ‚Π΅ Python, JavaScript, Ruby ΠΈ R, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ GraalVM β€” GraalPython, GraalJS, TruffleRuby ΠΈ FastR.

GraalVM ΠΏΡ€Π΅Π΄Π»Π°Π³Π° JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° изпълнява Π² JVM ΠΊΠΎΠ΄ Π½Π° всякакви скриптови Π΅Π·ΠΈΡ†ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ JavaScript, Ruby, Python ΠΈ R, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π°Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° стартиранС Π½Π° Π½Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄ Π² JVM, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½ Π² Π±ΠΈΡ‚ΠΊΠΎΠ΄ LLVM. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π΅Π½ΠΈΡΡ‚ ΠΎΡ‚ GraalVM инструмСнтариум Π²ΠΊΠ»ΡŽΡ‡Π²Π° нСзависими ΠΎΡ‚ програмния Π΅Π·ΠΈΠΊ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, систСма Π·Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°Π½Π΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΏΠ°ΠΌΠ΅Ρ‚. GraalVM позволява ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ прилоТСния с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΅Π·ΠΈΡ†ΠΈ, позволявайки Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΈ масиви ΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ Π΅Π·ΠΈΡ†ΠΈ. Π—Π° Π΅Π·ΠΈΡ†ΠΈ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° JVM Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° възмоТно ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° скомпилирани Π² машинСн ΠΊΠΎΠ΄ изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ (ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Ρ‡Ρ€Π΅Π· ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ с Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Substrate VM).

ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² GraalJS:

  • ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½Π° Π΅ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с Node.js 12.10.0;
  • ΠΠ΅ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈΡ‚Π΅ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ свойства ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ са Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅:
    global (Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ с globalThis, Π·Π° Π΄Π° сС Π²ΡŠΡ€Π½Π΅, Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π° настройка js.global-property), performance (js.performance), print ΠΈ printErr (js.print);
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ са Promise.allSettled ΠΈ nullish coalescing proposal, ΠΊΠΎΠΈΡ‚ΠΎ са Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌ ECMAScript 2020 (Β«β€”js.ecmascript-version=2020Β»);
  • Актуализирани зависимости ICU4J Π΄ΠΎ 64.2, ASM Π΄ΠΎ 7.1.

ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² GraalPython:

  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ gc.{enable,disable,isenabled}, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ са charmap_build, sys.hexversion ΠΈ _lzma;
  • Актуализирана Π΅ стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python 3.7.8;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° NumPy 1.16.4 ΠΈ Pandas 0.25.0;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° timeit;
  • socket.socket Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅Π½ Π΄ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, позволяващо стартиранС Π½Π° Β«graalpython -m http.serverΒ» ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½Π΅Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ΠΈ (Π±Π΅Π· TLS) http рСсурси;
  • ΠžΡ‚ΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈ са ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ pandas.DataFrame,
    Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½Π°Ρ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² bytes.startswith,
    дСструктуриращото присвояванС Π½Π° ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° dict.__contains__ Π·Π° Ρ€Π΅Ρ‡Π½ΠΈΡ†ΠΈ;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ast.PyCF_ONLY_AST, която ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ осигурСтС Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° pytest;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° PEP 498 (интСрполация Π½Π° Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ);
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Ρ„Π»Π°Π³ β€žβ€”python.EmulateJythonβ€œ Π·Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° JVM класовС с Π½ΠΎΡ€ΠΌΠ°Π»Π΅Π½ Python синтаксис import ΠΈ Ρ…Π²Π°Ρ‰Π°Π½Π΅ Π½Π° JVM ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚ Python ΠΊΠΎΠ΄;
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° производитСлност Π½Π° парсСра, ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ‚Π°,
    Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ Python ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΎΡ‚ JVM ΠΊΠΎΠ΄. ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ Π² производитСлността Π½Π° Python ΠΊΠΎΠ΄ ΠΈ Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ (ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π°Π΄ llvm ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°, Ρ‡Π΅ bitcode llvm сС ΠΏΡ€Π΅Π΄Π°Π²Π° Π½Π° GraalVM Π·Π° JIT компилация).

ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² TruffleRuby:

  • Π—Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π²Π΅Ρ‡Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²Π³Ρ€Π°Π΄Π΅Π½ инструмСнтариум LLVM, ΠΊΠΎΠΉΡ‚ΠΎ създава ΠΈ Π½Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄, ΠΈ Π±ΠΈΡ‚ΠΊΠΎΠ΄. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ трябва Π΄Π° сС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Ρ‚ β€žΠΎΡ‚ ΠΊΡƒΡ‚ΠΈΡΡ‚Π°β€œ, Ρ€Π΅ΡˆΠ°Π²Π°ΠΉΠΊΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°Ρ‚Π°;
  • ΠžΡ‚Π΄Π΅Π»Π½Π° инсталация Π½Π° LLVM Π·Π° инсталация Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π² TruffleRuby;
  • Π—Π° инсталация Π½Π° C++ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π² TruffleRuby Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ инсталиранС Π½Π° libc++ ΠΈ libc++abi;
  • ЛицСнзията Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΄ΠΎ EPL 2.0/GPL 2.0/LGPL 2.1, ΠΊΠ°ΠΊΡ‚ΠΎ Π² послСдния JRuby;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π² GC.stat;
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Kernel#load с ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° ΠΈ Kernel#spawn с :chdir;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ rb_str_drop_bytes, ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π°Ρ‰ сС с Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚ OpenSSL;
  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ са Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡΡ‚Π° Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ инсталиранитС gem-ΠΎΠ²Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° rails new Π² Rails 6;
  • Π—Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ са Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΈ Ρ„Π»Π°Π³ΠΎΠ²Π΅, ΠΊΠ°ΠΊΡ‚ΠΎ Π² MRI;
  • ВнСсСни са ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° производитСлността ΠΈ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚.

ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² FastR:

  • ΠžΠ±Π΅Π·ΠΏΠ΅Ρ‡Π΅Π½Π° Π΅ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с R 3.6.1;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° изпълнСниС Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° LLVM. ΠŸΡ€ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ R FastR Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° вградСния инструмСнтариум Π½Π° GraalVM LLVM. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π½ΠΈΡ‚Π΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Ρ‰Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΈ Π½Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄, ΠΈ LLVM Π±ΠΈΡ‚ΠΊΠΎΠ΄.

    ΠŸΡ€Π΅Π΄ΡƒΡΡ‚Π°Π½ΠΎΠ²Π΅Π½ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΡΡŠΡ‰ΠΎ са ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½.
    FastR Π·Π°Ρ€Π΅ΠΆΠ΄Π° ΠΈ стартира Π½Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄ Π½Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, Π½ΠΎ ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ стартиран с опцията β€žβ€”R.BackEnd=llvmβ€œ, Ρ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΡ‚ΠΊΠΎΠ΄. LLVM бэкэнд ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° сСлСктивно Π·Π° някои R ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΊΠ°Ρ‚ΠΎ сС посочат β€žβ€”R.BackEndLLVM=pkg1,pkg2β€œ. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с инсталацията Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π²ΡŠΡ€Π½Π΅Ρ‚Π΅ Π½Π°Π·Π°Π΄, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ°Ρ‚Π΅ fastr.setToolchain(β€žnativeβ€œ) ΠΈΠ»ΠΈ Ρ€ΡŠΡ‡Π½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ Ρ„Π°ΠΉΠ»Π° $FASTR_HOME/etc/Makeconf;

  • Π’ Ρ‚Π°Π·ΠΈ вСрсия FastR сС доставя Π±Π΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° GCC runtime;
  • ΠšΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ΠΈ са изтичания Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚;
  • ΠšΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ΠΈ са ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π³ΠΎΠ»Π΅ΠΌΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈ (>1GB);
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π΅ grepRaw, Π½ΠΎ само Π·Π° fixed=T.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster