GraalVM เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจฆเจพ 19.3.0 เจฐเฉ€เจฒเฉ€เจœเจผ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจ…เจงเจพเจฐ 'เจคเฉ‡ เจชเจพเจˆเจฅเจจ, เจœเจพเจตเจพ เจธเจ•เฉเจฐเจฟเจชเจŸ, เจฐเฉ‚เจฌเฉ€ เจ…เจคเฉ‡ เจ†เจฐ เจฆเฉ‡ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ

เจ“เจฐเฉ‡เจ•เจฒ เจ•เฉฐเจชเจจเฉ€ เจชเฉเจฐเจ•เจพเจธเจผเจค เจ‡เฉฑเจ• เจฏเฉ‚เจจเฉ€เจตเจฐเจธเจฒ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจฆเฉ€ เจฐเจฟเจนเจพเจˆ 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, TruffleRuby ะธ เจคเฉ‡เจœเจผ เจ†เจฐ.

GraalVM เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ เจ‡เฉฑเจ• JIT เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจœเฉ‹ JVM เจตเจฟเฉฑเจš เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจ•เฉเจฐเจฟเจชเจŸเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจคเฉ‹เจ‚ เจ•เฉ‹เจก เจšเจฒเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš JavaScript, Ruby, Python เจ…เจคเฉ‡ R เจธเจผเจพเจฎเจฒ เจนเจจ, เจ…เจคเฉ‡ LLVM เจฌเจฟเจŸเจ•เฉ‹เจก เจตเจฟเฉฑเจš เจฌเจฆเจฒเฉ‡ JVM เจตเจฟเฉฑเจš เจฎเฉ‚เจฒ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃเจพ เจตเฉ€ เจธเฉฐเจญเจต เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค GraalVM เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจ—เจ เจŸเฉ‚เจฒเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจญเจพเจธเจผเจพ-เจธเฉเจคเฉฐเจคเจฐ เจกเฉ€เจฌเจ—เจฐ, เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ…เจฒเฉ‹เจ•เฉ‡เจธเจผเจจ เจเจจเจพเจฒเจพเจˆเจœเจผเจฐ เจธเจผเจพเจฎเจฒ เจนเจจเฅค GraalVM เจตเฉฑเจ–-เจตเฉฑเจ– เจญเจพเจธเจผเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจญเจพเจ—เจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจธเฉฐเจฏเฉเจ•เจค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฌเจฃเจพเจ‰เจฃเจพ เจธเฉฐเจญเจต เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจจเจพเจฒ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‚เจœเฉ€เจ†เจ‚ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจคเฉ‹เจ‚ เจ†เจฌเจœเฉˆเจ•เจŸ เจ…เจคเฉ‡ เจเจฐเฉ‡ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจœเฉ‡เจตเฉ€เจเจฎ-เจ…เจงเจพเจฐเจฟเจค เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฒเจˆ เจนเฉˆ เจฎเฉŒเจ•เจพ เจฎเจธเจผเฉ€เจจ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจซเจพเจˆเจฒเจพเจ‚ เจฌเจฃเจพเจ‰เจฃเจพ เจœเฉ‹ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ€ เจ–เจชเจค เจจเจพเจฒ เจธเจฟเฉฑเจงเจพ เจšเจฒเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ (เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ…เจคเฉ‡ เจฅเฉเจฐเฉˆเจก เจชเฉเจฐเจฌเฉฐเจงเจจ เจซเจฐเฉ‡เจฎเจตเจฐเจ• เจจเฉ‚เฉฐ เจœเฉ‹เฉœ เจ•เฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจธเจฌเจธเจŸเจฐเฉ‡เจŸ VM).

GraalJS เจตเจฟเฉฑเจš เจฌเจฆเจฒเจพเจ…:

  • Node.js 12.10.0 เจจเจพเจฒ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจฏเจ•เฉ€เจจเฉ€ เจนเฉˆ;
  • เจ—เฉˆเจฐ-เจฎเจฟเจ†เจฐเฉ€ เจ—เจฒเฉ‹เจฌเจฒ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจซเฉฐเจ•เจธเจผเจจ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ…เจธเจฎเจฐเฉฑเจฅ เจนเจจ:
    เจ—เจฒเฉ‹เจฌเจฒ (เจ—เจฒเฉ‹เจฌเจฒเจ‡เจธ เจฆเฉเจ†เจฐเจพ เจฌเจฆเจฒเจฟเจ† เจ—เจฟเจ†, เจตเจพเจชเจธเฉ€ เจฒเจˆ js.global-เจชเฉเจฐเจพเจชเจฐเจŸเฉ€ เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพ), เจชเฉเจฐเจฆเจฐเจธเจผเจจ (js.performance), เจชเฉเจฐเจฟเฉฐเจŸ เจ…เจคเฉ‡ printErr (js.print);

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

เจฌเจฆเจฒเจพเจต GraalPython เจตเจฟเฉฑเจš:

  • เจœเฉ‹เฉœเฉ‡ เจ—เจ เจธเจŸเฉฑเจฌเจธ gc.{enable,disable,isenabled}, เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ charmap_build, sys.hexversion เจ…เจคเฉ‡ _lzma;
  • เจ…เฉฑเจชเจกเฉ‡เจŸ เจชเจพเจˆเจฅเจจ 3.7.8 เจฎเจฟเจ†เจฐเฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€;
  • NumPy 1.16.4 เจ…เจคเฉ‡ Pandas 0.25.0 เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†;
  • เจŸเจพเจˆเจฎเจ‡เจŸ เจธเจฎเจฐเจฅเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†;
  • socket.socket เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ…เจœเจฟเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจฒเจฟเจ†เจ‚เจฆเจพ เจ—เจฟเจ† เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ โ€œgraalpython -m http.serverโ€ เจšเจฒเจพเจ‰เจฃ เจ…เจคเฉ‡ เจ…เจจเจ‡เจจเจ•เฉเจฐเจฟเจชเจŸเจก (TLS เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚) http เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจฒเฉ‹เจก เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ;
  • pandas.DataFrame เจตเจธเจคเฉ‚เจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจจ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจนเฉฑเจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจนเจจเฅค
    bytes.startswith เจตเจฟเฉฑเจš tuples เจฆเฉ€ เจ—เจฒเจค เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ—,
    เจฆเฉเจนเจฐเจพเจ“ เจฆเฉ‡ เจ…เจธเจพเจˆเจจเจฎเฉˆเจ‚เจŸ เจจเฉ‚เฉฐ เจตเจฟเจจเจพเจธเจผเจ•เจพเจฐเฉ€ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจกเจฟเจ•เจธเจผเจจเจฐเฉ€ เจฒเจˆ dict.__contains__ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚;

  • ast.PyCF_ONLY_AST เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†, เจœเฉ‹ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฑเจคเฉ€ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ เจ•เจฟ pytest เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ;
  • เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจธเจนเจฟเจฏเฉ‹เจ— PEP 498 (เจธเจผเจพเจฌเจฆเจฟเจ• เจตเจฟเฉฑเจš เจธเจŸเฉเจฐเจฟเฉฐเจ— เจ‡เฉฐเจŸเจฐเจชเฉ‹เจฒเฉ‡เจธเจผเจจ);
  • เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ "--python.EmulateJython" เจซเจฒเฉˆเจ— เจ†เจฎ เจชเจพเจˆเจฅเจจ เจ†เจฏเจพเจค เจธเฉฐเจŸเฉˆเจ•เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ JVM เจ•เจฒเจพเจธเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจฏเจพเจค เจ•เจฐเจจ เจ…เจคเฉ‡ Python เจ•เฉ‹เจก เจคเฉ‹เจ‚ JVM เจ…เจชเจตเจพเจฆเจพเจ‚ เจจเฉ‚เฉฐ เจซเฉœเจจ เจฒเจˆ;
  • เจธเฉเจงเจพเจฐเจฟเจ† เจ—เจฟเจ† เจชเจพเจฐเจธเจฐ เจชเฉเจฐเจฆเจฐเจธเจผเจจ, เจ…เจชเจตเจพเจฆ เจ•เฉˆเจšเจฟเฉฐเจ—,
    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 เจตเจฟเฉฑเจš เจจเจตเฉ€เจ†เจ‚ เจฐเฉ‡เจฒเจพเจ‚ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจชเฉ‚เจฐเจต-เจธเจฅเจพเจชเจค เจฐเจคเจจ เจฆเฉ‡ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ;
  • เจฎเฉ‚เจฒ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เจฐเจจ เจฒเจˆ, เจซเจฒเฉˆเจ— เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจเจฎเจ†เจฐเจ†เจˆ เจตเจฟเฉฑเจš;
  • เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ€ เจ–เจชเจค เจจเฉ‚เฉฐ เจ˜เจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ.

เจฌเจฆเจฒเจพเจต FastR เจตเจฟเฉฑเจš:

  • R 3.6.1 เจจเจพเจฒ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจฏเจ•เฉ€เจจเฉ€ เจนเฉˆ;
  • LLVM 'เจคเฉ‡ เจ†เจงเจพเจฐเจฟเจค เจจเฉ‡เจŸเจฟเจต เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจฎเฉเฉฑเจขเจฒเฉ€ เจธเจนเจพเจ‡เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆเฅค เจจเฉ‡เจŸเจฟเจต R เจชเฉˆเจ•เฉ‡เจœ เจฌเจฃเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡, FastR เจจเฉ‚เฉฐ GraalVM เจฆเฉ€ เจฌเจฟเจฒเจŸ-เจ‡เจจ LLVM เจŸเฉ‚เจฒเจฟเฉฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจฌเจพเจˆเจจเจฐเฉ€ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจฎเฉ‚เจฒ เจ•เฉ‹เจก เจ…เจคเฉ‡ LLVM เจฌเจฟเจŸเจ•เฉ‹เจก เจฆเฉ‹เจตเฉ‡เจ‚ เจธเจผเจพเจฎเจฒ เจนเฉ‹เจฃเจ—เฉ‡เฅค

    เจชเฉเจฐเฉ€-เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เฉ€เจคเฉ‡ เจชเฉˆเจ•เฉ‡เจœ เจตเฉ€ เจ‡เจธ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฌเจฃเจพเจ เจ—เจ เจนเจจเฅค
    FastR เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฎเฉ‚เจฒ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจฒเฉ‹เจก เจ…เจคเฉ‡ เจšเจฒเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจชเจฐ เจœเจฆเฉ‹เจ‚ "--R.BackEnd=llvm" เจตเจฟเจ•เจฒเจช เจจเจพเจฒ เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจฌเจฟเจŸเจ•เฉ‹เจก เจตเจฐเจคเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพเฅค LLVM เจฌเฉˆเจ•เจเจ‚เจก เจจเฉ‚เฉฐ "--R.BackEndLLVM=pkg1,pkg2" เจฆเฉ‡ เจ•เฉ‡ เจ•เฉเจ R เจชเฉˆเจ•เฉ‡เจœเจพเจ‚ เจฒเจˆ เจšเฉ‹เจฃเจตเฉ‡เจ‚ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉˆเจ•เฉ‡เจœ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ† เจ† เจฐเจนเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ fastr.setToolchain("เจจเฉ‡เจŸเจฟเจต") เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจ•เฉ‡ เจœเจพเจ‚ $FASTR_HOME/etc/Makeconf เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจ•เฉ‡ เจธเจญ เจ•เฉเจ เจตเจพเจชเจธ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹;

  • เจ‡เจธ เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš, GCC เจฐเจจเจŸเจพเจˆเจฎ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ FastR เจธเจผเจฟเจช เจ•เจฐเจฆเจพ เจนเฉˆ;
  • เจธเจฅเจฟเจฐ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฒเฉ€เจ•;
  • เจตเฉฑเจกเฉ‡ เจตเฉˆเจ•เจŸเจฐ (>1GB) เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจนเฉฑเจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚;
  • เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ grepRaw, เจชเจฐ เจธเจฟเจฐเจซเจผ เจธเจฅเจฟเจฐ=T เจฒเจˆเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹