Π Π΅Π»ΠΈΠ· 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. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ са ΠΈΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ вСрсии Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Π΅Π·ΠΈΡ†ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ GraalVM, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Python, JavaScript, Ruby ΠΈ R β€” 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 ΠΈ proposal Π·Π° nullish coalescing, Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌ 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 ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°, Ρ‡Π΅ 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