GraalVM เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเชจเซเช‚ 19.3.0 เชฐเชฟเชฒเซ€เช เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเชพ เช†เชงเชพเชฐเซ‡ Python, JavaScript, Ruby เช…เชจเซ‡ Rเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเซ‹

เช“เชฐเซ‡เช•เชฒ เช•เช‚เชชเชจเซ€ เชชเซเชฐเช•เชพเชถเชฟเชค เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช• เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ GraalVM 19.3.0, เชœเซ‡ JavaScript (Node.js), Python, Ruby, R, JVM (Java, Scala, Clojure, Kotlin) เชฎเชพเชŸเซ‡เชจเซ€ เช•เซ‹เชˆเชชเชฃ เชญเชพเชทเชพเช“ เช…เชจเซ‡ เชœเซ‡ เชญเชพเชทเชพเช“ เชฎเชพเชŸเซ‡ LLVM เชฌเชฟเชŸเช•เซ‹เชก เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ (C, C++) เชฎเชพเช‚ เชšเชพเชฒเซ€ เชฐเชนเซ‡เชฒ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡. , เชฐเชธเซเชŸ). 19.3 เชถเชพเช–เชพเชจเซ‡ เชฒเซ‹เช‚เช— เชŸเชฐเซเชฎ เชธเชชเซ‹เชฐเซเชŸ (LTS) เชฐเชฟเชฒเซ€เช เชคเชฐเซ€เช•เซ‡ เชตเชฐเซเช—เซ€เช•เซƒเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ เช…เชจเซ‡ เชจเซ‹เช‚เชงเชจเซ€เชฏ เช†เชงเชพเชฐ เชœเซ‡เชกเซ€เช•เซ‡ 11, เชเช•เซเชเซ‡เช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเชˆเชฒเซ‹ (GraalVM เชจเซ‡เชŸเชฟเชต เชˆเชฎเซ‡เชœ) เชฎเชพเช‚ เชœเชพเชตเชพ เช•เซ‹เชก เช•เชฎเซเชชเชพเชˆเชฒ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชธเชนเชฟเชค. เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช•เซ‹เชก เชฆเซเชตเชพเชฐเชพ เชตเชฟเชคเชฐเชฟเชค GPLv2 เชนเซ‡เช เชณ เชฒเชพเช‡เชธเชจเซเชธ. เชคเซ‡ เชœ เชธเชฎเชฏเซ‡, GraalVM เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Python, JavaScript, Ruby เช…เชจเซ‡ R เชญเชพเชทเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเชพ เชจเชตเชพ เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฌเชนเชพเชฐ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ - GraalPython, GraalJS, เชŸเซเชฐเชซเชฒเชฐเซ‚เชฌเซ€ ะธ เชซเชพเชธเซเชŸเช†เชฐ.

GraalVM เชชเซ‚เชฐเซ€ เชชเชพเชกเซ‡ เช›เซ‡ เชเช• JIT เช•เชฎเซเชชเชพเชˆเชฒเชฐ เชœเซ‡ JVM เชฎเชพเช‚ เชซเซเชฒเชพเชฏ เชชเชฐ เช•เซ‹เชˆเชชเชฃ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ€เช‚เช— เชญเชพเชทเชพเชฎเชพเช‚เชฅเซ€ เช•เซ‹เชกเชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ JavaScript, Ruby, Python เช…เชจเซ‡ Rเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เช…เชจเซ‡ LLVM เชฌเชฟเชŸเช•เซ‹เชกเชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค JVM เชฎเชพเช‚ เชฎเซ‚เชณ เช•เซ‹เชก เชšเชฒเชพเชตเชตเชพเชจเซเช‚ เชชเชฃ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡. GraalVM เชฆเซเชตเชพเชฐเชพ เชชเซ‚เชฐเชพ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชธเชพเชงเชจเซ‹เชฎเชพเช‚ เชญเชพเชทเชพ-เชธเซเชตเชคเช‚เชคเซเชฐ เชกเซ€เชฌเช—เชฐ, เชชเซเชฐเซ‹เชซเชพเช‡เชฒเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เช…เชจเซ‡ เชฎเซ‡เชฎเชฐเซ€ เชซเชพเชณเชตเชฃเซ€ เชตเชฟเชถเซเชฒเซ‡เชทเช•เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. GraalVM เชตเชฟเชตเชฟเชง เชญเชพเชทเชพเช“เชฎเชพเช‚ เช˜เชŸเช•เซ‹ เชธเชพเชฅเซ‡ เชธเช‚เชฏเซเช•เซเชค เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ เช…เชจเซเชฏ เชญเชพเชทเชพเช“เชฎเชพเช‚ เช•เซ‹เชกเชฎเชพเช‚เชฅเซ€ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ เช…เชจเซ‡ เชเชฐเซ‡เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. JVM เช†เชงเชพเชฐเชฟเชค เชญเชพเชทเชพเช“ เชฎเชพเชŸเซ‡ เชคเซเชฏเชพเช‚ เช›เซ‡ เชคเช• เชฎเชถเซ€เชจ เช•เซ‹เชกเชฎเชพเช‚ เชธเช‚เช•เชฒเชฟเชค เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒเซ‹ เชฌเชจเชพเชตเชตเซ€ เชœเซ‡ เชจเซเชฏเซ‚เชจเชคเชฎ เชฎเซ‡เชฎเชฐเซ€ เชตเชชเชฐเชพเชถ เชธเชพเชฅเซ‡ เชธเซ€เชงเซ€ เชฐเซ€เชคเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ (เชฎเซ‡เชฎเชฐเซ€ เช…เชจเซ‡ เชฅเซเชฐเซ‡เชก เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เชซเซเชฐเซ‡เชฎเชตเชฐเซเช•เชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€เชจเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชธเชฌเชธเซเชŸเซเชฐเซ‡เชŸ VM).

GraalJS เชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐเซ‹:

  • Node.js 12.10.0 เชธเชพเชฅเซ‡ เชธเซเชธเช‚เช—เชคเชคเชพ เชธเซเชจเชฟเชถเซเชšเชฟเชค เชฅเชฏเซ‡เชฒ เช›เซ‡;
  • เชฌเชฟเชจ-เชฎเชพเชจเช• เชตเซˆเชถเซเชตเชฟเช• เช—เซเชฃเชงเชฐเซเชฎเซ‹ เช…เชจเซ‡ เช•เชพเชฐเซเชฏเซ‹ เชกเชฟเชซเซ‰เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เช…เช•เซเชทเชฎ เช›เซ‡:
    เชตเซˆเชถเซเชตเชฟเช• (เช—เซเชฒเซ‹เชฌเชฒ เช† เชฆเซเชตเชพเชฐเชพ เชฌเชฆเชฒเชพเชฏเซ‡เชฒ, js.global-เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€เชจเซ‡ เชชเชฐเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเซ‡เชŸ เช•เชฐเซ‹), เชชเซเชฐเชฆเชฐเซเชถเชจ (js.performance), เชชเซเชฐเชฟเชจเซเชŸ เช…เชจเซ‡ printErr (js.print);

  • ECMAScript 2020 เชฎเซ‹เชก (โ€œ-js.ecmascript-version=2020โ€) เชฎเชพเช‚ เช‰เชชเชฒเชฌเซเชง Promise.all Settled เช…เชจเซ‡ nullish coalescing เชชเซเชฐเชธเซเชคเชพเชตเชจเซ‹ เช…เชฎเชฒ เช•เชฐเซเชฏเซ‹;
  • ICU4J เชจเซ‡ 64.2, ASM เชฅเซ€ 7.1 เชชเชฐ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ‡เชฒ เชจเชฟเชฐเซเชญเชฐเชคเชพ.

เชซเซ‡เชฐเชซเชพเชฐ GraalPython เชฎเชพเช‚:

  • เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ stubs 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 (เชถเชพเชฌเซเชฆเชฟเช•เชฎเชพเช‚ เชถเชฌเซเชฆเชฎเชพเชณเชพ เชชเซเชฐเช•เซเชทเซ‡เชช);
  • เช…เชฎเชฒเซ€ เชธเชพเชฎเชพเชจเซเชฏ เชชเชพเชฏเชฅเซ‹เชจ เช†เชฏเชพเชค เชตเชพเช•เซเชฏเชฐเชšเชจเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ JVM เชตเชฐเซเช—เซ‹ เช†เชฏเชพเชค เช•เชฐเชตเชพ เช…เชจเซ‡ Python เช•เซ‹เชกเชฎเชพเช‚เชฅเซ€ JVM เช…เชชเชตเชพเชฆเซ‹เชจเซ‡ เชชเช•เชกเชตเชพ เชฎเชพเชŸเซ‡ โ€œ--python.EmulateJythonโ€ เชซเซเชฒเซ‡เช—;
  • เชธเซเชงเชพเชฐเซ‡เชฒ เชชเชพเชฐเซเชธเชฐ เชชเซเชฐเชฆเชฐเซเชถเชจ, เช…เชชเชตเชพเชฆ เช•เซ‡เชถเซ€เช‚เช—,
    JVM เช•เซ‹เชกเชฎเชพเช‚เชฅเซ€ เชชเชพเชฏเชฅเซ‹เชจ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเซเช‚. เชชเชพเชฏเชฅเซ‹เชจ เช•เซ‹เชก เช…เชจเซ‡ เชจเซ‡เชŸเชฟเชต เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชฎเชพเชŸเซ‡ เชชเชฐเซเชซเซ‹เชฐเซเชฎเชจเซเชธ เชŸเซ‡เชธเซเชŸเชฎเชพเช‚ เชธเซเชงเชพเชฐเซ‡เชฒเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹ (llvm เชจเซ€ เชŸเซ‹เชš เชชเชฐ เชจเซ‡เชŸเชฟเชต เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจเชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชจเซเช‚ เชธเซ‚เชšเชตเซ‡ เช›เซ‡ เช•เซ‡ เชฌเซ€เชŸเช•เซ‹เชก llvm เช JIT เช•เชฎเซเชชเชพเช‡เชฒเซ‡เชถเชจ เชฎเชพเชŸเซ‡ GraalVM เชจเซ‡ เชชเชพเชธ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡).

เชซเซ‡เชฐเชซเชพเชฐ TruffleRuby เชฎเชพเช‚:

  • เชฎเซ‚เชณ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจเชจเซ‡ เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชฌเชฟเชฒเซเชŸ-เช‡เชจ LLVM เชŸเซ‚เชฒเช•เซ€เชŸเชจเซ‹ เชนเชตเซ‡ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡, เชœเซ‡ เชฎเซ‚เชณ เช•เซ‹เชก เช…เชจเซ‡ เชฌเซ€เชŸเช•เซ‹เชก เชฌเช‚เชจเซ‡ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เช†เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ เชตเชงเซ เชจเซ‡เชŸเซ€เชต เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชฌเซ‹เช•เซเชธเชจเซ€ เชฌเชนเชพเชฐ เช•เชฎเซเชชเชพเชˆเชฒ เชฅเชตเซเช‚ เชœเซ‹เชˆเช, เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชฒเชฟเช‚เช•เชฟเช‚เช— เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ€เชจเซ‡;
  • TruffleRuby เชฎเชพเช‚ เชฎเซ‚เชณ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฒเช— LLVM เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ;
  • TruffleRuby เชชเชฐ C++ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชนเชตเซ‡ libc++ เช…เชจเซ‡ libc++ abi เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€;
  • EPL 2.0/GPL 2.0/LGPL 2.1 เชชเชฐ เชฒเชพเช‡เชธเชจเซเชธ เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚, เชคเชพเชœเซ‡เชคเชฐเชจเชพ JRuby เชœเซ‡เชตเซเช‚ เชœ;
  • GC.stat เชชเชฐ เชตเซˆเช•เชฒเซเชชเชฟเช• เชฆเชฒเซ€เชฒเซ‹ เชฎเชพเชŸเซ‡ เชธเชฎเชฐเซเชฅเชจ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚;
  • เช•เชฐเซเชจเชฒ#เชฒเซ‹เชก เชชเชฆเซเชงเชคเชฟเชจเซ‡ เชฐเซ‡เชชเชฐ เชธเชพเชฅเซ‡ เช…เชจเซ‡ เช•เชฐเซเชจเชฒ#เชธเซเชชเซ‰เชจเชจเซ‡ :chdir เชธเชพเชฅเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ€;
  • เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ rb_str_drop_bytes, เชœเซ‡ เชฎเชนเชพเชจ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ OpenSSL เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡;
  • เชฐเซ‡เชฒเซเชธ 6 เชฎเชพเช‚ เชจเชตเซ€ เชฐเซ‡เชฒเซเชธ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชชเซเชฐเซ€-เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒ เชฐเชคเซเชจเซ‹เชจเชพ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ;
  • เชฎเซ‚เชณ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจเชจเซ‡ เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชซเซเชฒเซ‡เช—เซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ MRI เชฎเชพเช‚;
  • เชชเซเชฐเชฆเชฐเซเชถเชจ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชฎเซ‡เชฎเชฐเซ€ เชตเชชเชฐเชพเชถ เช˜เชŸเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡.

เชซเซ‡เชฐเชซเชพเชฐ เชซเชพเชธเซเชŸเช†เชฐ เชฎเชพเช‚:

  • R 3.6.1 เชธเชพเชฅเซ‡ เชธเซเชธเช‚เช—เชคเชคเชพ เชธเซเชจเชฟเชถเซเชšเชฟเชค เชฅเชฏเซ‡เชฒ เช›เซ‡;
  • LLVM เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชฎเซ‚เชณ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชธเชฎเชฐเซเชฅเชจ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚. เชฎเซ‚เชณ R เชชเซ‡เช•เซ‡เชœเซ‹ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡, FastR เช GraalVM เชจเชพ เชฌเชฟเชฒเซเชŸ-เช‡เชจ LLVM เชŸเซ‚เชฒเชฟเช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช—เซ‹เช เชตเซ‡เชฒ เช›เซ‡. เชชเชฐเชฟเชฃเชพเชฎเซ€ เชฌเชพเชˆเชจเชฐเซ€ เชซเชพเชˆเชฒเซ‹เชฎเชพเช‚ เชฎเซ‚เชณ เช•เซ‹เชก เช…เชจเซ‡ LLVM เชฌเชฟเชŸเช•เซ‹เชก เชฌเช‚เชจเซ‡ เชนเชถเซ‡.

    เชชเซ‚เชฐเซเชต-เชธเซเชฅเชพเชชเชฟเชค เชชเซ‡เช•เซ‡เชœเซ‹ เชชเชฃ เช† เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
    FastR เชฎเซ‚เชณ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เช•เซ‹เชกเชจเซ‡ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เชฒเซ‹เชก เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชšเชฒเชพเชตเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซเชฏเชพเชฐเซ‡ "--R.BackEnd=llvm" เชตเชฟเช•เชฒเซเชช เชธเชพเชฅเซ‡ เชฒเซ‹เชจเซเชš เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชฌเซ€เชŸเช•เซ‹เชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. "--R.BackEndLLVM=pkg1,pkg2" เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€เชจเซ‡ LLVM เชฌเซ‡เช•เชเชจเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เชฎเซเช• R เชชเซ‡เช•เซ‡เชœเซ‹ เชฎเชพเชŸเซ‡ เชชเชธเช‚เชฆเช—เซ€เชชเซ‚เชฐเซเชตเช• เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชœเซ‹ เชคเชฎเชจเซ‡ เชชเซ‡เช•เซ‡เชœเซ‹ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเซ‡ fastr.setToolchain("เชฎเซ‚เชณ") เชชเชฐ เช•เซ‰เชฒ เช•เชฐเซ€เชจเซ‡ เช…เชฅเชตเชพ $FASTR_HOME/etc/Makeconf เชซเชพเช‡เชฒเชจเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเซ€เชจเซ‡ เชฌเชงเซเช‚ เชชเชพเช›เซเช‚ เชซเซ‡เชฐเชตเซ€ เชถเช•เซ‹ เช›เซ‹;

  • เช† เชชเซเชฐเช•เชพเชถเชจเชฎเชพเช‚, เชซเชพเชธเซเชŸเช†เชฐ GCC เชฐเชจเชŸเชพเช‡เชฎ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“ เชตเชฟเชจเชพ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡;
  • เชธเซเชฅเชฟเชฐ เชฎเซ‡เชฎเชฐเซ€ เชฒเชฟเช•;
  • เชฎเซ‹เชŸเชพ เชตเซ‡เช•เซเชŸเชฐ (>1GB) เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชธเซเชฅเชฟเชฐ เชธเชฎเชธเซเชฏเชพเช“;
  • grepRawเชจเซ‹ เช…เชฎเชฒ เช•เชฐเซเชฏเซ‹, เชชเชฐเช‚เชคเซ เชฎเชพเชคเซเชฐ fixed=T เชฎเชพเชŸเซ‡.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹