Red Hat MIR JIT เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ

Red Hat 'เจคเฉ‡ เจตเจฟเจ•เจพเจธ เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆ เจจเจตเจพเจ‚ เจนเจฒเจ•เจพ JIT เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฎเฉ€เจฐ, เจœเฉ‹ เจ•เฉ‹เจก เจฆเฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจœเฉ‹ เจชเจนเจฟเจฒเจพเจ‚ เจ‡เฉฑเจ• เจตเจฟเจšเจ•เจพเจฐเจฒเฉ‡ เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€ MIR โ€‹โ€‹(เจฎเฉฑเจงเจฎ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ, เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจตเจฟเจšเจ•เจพเจฐเจฒเฉ‡ เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€ เจจเจพเจฒ เจ‰เจฒเจเจฃ เจตเจฟเฉฑเจš เจจเจพ เจนเฉ‹เจฃ เจฒเจˆ เจฌเจฆเจฒเจฟเจ† เจ—เจฟเจ† เจนเฉˆ) เจฎเฉ€เจฐ (เจฎเฉฑเจง-เจชเฉฑเจงเจฐเฉ€ IR), เจœเฉฐเจ—เจพเจฒ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ)เฅค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเจพ เจ‰เจฆเฉ‡เจธเจผ เจคเฉ‡เจœเจผ เจ…เจคเฉ‡ เจธเฉฐเจ–เฉ‡เจช เจฆเฉเจญเจพเจธเจผเฉ€เจ เจ…เจคเฉ‡ เจœเฉ‡เจ†เจˆเจŸเฉ€ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจขเจพเจ‚เจšเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจเจพ เจนเฉˆเฅค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ•เฉ‹เจก C เจ…เจคเฉ‡ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจฆเฉเจ†เจฐเจพ เจตเฉฐเจกเจฟเจ† MIT เจฒเจพเจ‡เจธเฉฐเจธ เจฆเฉ‡ เจคเจนเจฟเจค.

เจตเจฟเจ•เจพเจธ เจฆเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจชเฉœเจพเจ… 'เจคเฉ‡, MIR เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐเจฒเฉ‡ เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€ เจตเจฟเฉฑเจš เจ…เจจเฉเจตเจพเจฆเจ•เจพเจ‚ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจธเฉ€ เจญเจพเจธเจผเจพ เจ…เจคเฉ‡ เจฌเจฟเจŸเจ•เฉ‹เจก LLVM (เจฌเจฟเจŸเจ•เฉ‹เจก), เจชเจฐ เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจ‡เจน เจตเฉˆเจฌ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€, เจœเจพเจตเจพ เจฌเจพเจˆเจŸเจ•เฉ‹เจก, เจฒเจˆ เจเจฎเจ†เจˆเจ†เจฐ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจนเฉˆ. เจธเฉ€เจ†เจˆเจเจฒ (เจ•เจพเจฎเจจ เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจฒเฉˆเจ‚เจ—เฉ‚เจเจœ), เจฐเจธเจŸ เจ…เจคเฉ‡ เจธเฉ€++เฅค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ JIT เจ‡เฉฐเจœเจฃ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจฆเฉเจ†เจฐเจพ เจตเจฟเจ•เจธเจค เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ เจเจฎ.เจœเฉ‡.เจ†เจˆ.เจŸเฉ€, เจฐเฉ‚เจฌเฉ€ เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, MIR 'เจคเฉ‡ เจ†เจงเจพเจฐเจฟเจค JIT เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจนเฉˆ เจ•เจฐเฉ‚เจฌเฉ€ ะธ เจฎเจฐเฉ‚เจฌเฉ€. เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš, MIR เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ GCC เจจเฉ‚เฉฐ เจชเฉ‹เจฐเจŸ เจ•เจฐเจจเจพ เจตเฉ€ เจธเฉฐเจญเจต เจนเฉˆเฅค

Red Hat MIR JIT เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ

เจตเจฟเจšเจ•เจพเจฐเจฒเฉ‡ MIR เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจฌเจพเจˆเจจเจฐเฉ€ เจ…เจคเฉ‡ เจŸเฉˆเจ•เจธเจŸ (เจชเฉœเฉเจนเจจเจฏเฉ‹เจ—) เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ•เฉ‹เจก เจ‡เฉฑเจ• เจฆเฉเจญเจพเจธเจผเฉ€เจ เจตเจฟเฉฑเจš เจšเจฒเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจฎเจธเจผเฉ€เจจ เจ•เฉ‹เจก เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ (x86_64, ARM64, PPC64 เจ…เจคเฉ‡ MIPS64 เจฏเฉ‹เจœเจจเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš)เฅค เจ‰เจฒเจŸเจพ เจชเจฐเจฟเจตเจฐเจคเจจ เจ•เจฐเจจเจพ เจตเฉ€ เจธเฉฐเจญเจต เจนเฉˆ - MIR เจคเฉ‹เจ‚ CIL, Java bytecode, WebAssembly เจ…เจคเฉ‡ C เจ•เฉ‹เจกเฅค

MIR เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš, เจธเจ–เจผเจค เจŸเจพเจˆเจชเจฟเฉฐเจ—, เจฎเฉ‹เจกเจฟเจŠเจฒเจพเจ‚ เจ…เจคเฉ‡ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ, เจ•เจฟเจธเจฎ เจฆเฉ‡ เจฐเฉ‚เจชเจพเจ‚เจคเจฐเจฃ, เจคเฉเจฒเจจเจพ, เจ…เฉฐเจ•เจ—เจฃเจฟเจค เจ…เจคเฉ‡ เจฒเจพเจœเจผเฉ€เจ•เจฒ เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚, เจฌเฉเจฐเจพเจ‚เจšเจฟเฉฐเจ—, เจ†เจฆเจฟ เจฒเจˆ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจฆเฉ€ เจตเจฟเจตเจธเจฅเจพเฅค เจฎเฉ‹เจกเจฟเจŠเจฒ, เจœเจฟเจธ เจตเจฟเฉฑเจš MIR เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจชเจฐเจฟเจตเจฐเจคเจฟเจค เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจจเฉ‚เฉฐ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจฌเจพเจนเจฐเฉ€ C เจ•เฉ‹เจก เจตเฉ€ เจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

Red Hat MIR JIT เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆRed Hat MIR JIT เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ

เจจเฉ‡เจŸเจฟเจต เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉฐเจชเจพเจˆเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฌเจœเจพเจ JIT เจตเจฟเฉฑเจš เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเจพ เจฎเฉเฉฑเจ– เจซเจพเจ‡เจฆเจพ เจธเฉฐเจ–เฉ‡เจช เจซเจพเจˆเจฒเจพเจ‚ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจนเฉˆ เจœเฉ‹ เจตเฉฑเจ–-เจตเฉฑเจ– เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ (x86, ARM, PPC, MIPS) 'เจคเฉ‡ เจฎเฉเฉœ เจจเจฟเจฐเจฎเจพเจฃ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจšเจฒเจพเจˆเจ†เจ‚ เจœเจพ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ…เจธเจฎเจฐเจฅเจฟเจค เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฒเจˆ, เจ‡เฉฑเจ• เจตเจฟเจ†เจ–เจฟเจ† เจฎเฉ‹เจก เจ‰เจชเจฒเจฌเจง เจนเฉˆ, เจœเฉ‹ MIR เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš JIT เจจเจพเจฒเฉ‹เจ‚ 6-10 เจ—เฉเจฃเจพ เจนเฉŒเจฒเฉ€ เจนเฉˆเฅค

เจฎเฉŒเจœเฉ‚เจฆเจพ JIT เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฆเฉ‡ เจจเฉเจ•เจธเจพเจจ
GCC เจ…เจคเฉ‡ LLVM เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจซเฉเฉฑเจฒเจฟเจ† เจนเฉ‹เจ‡เจ† เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ•เจฒเจจ เจฆเฉ€ เจ—เจคเฉ€ เจ˜เฉฑเจŸ เจนเฉˆ, เจ…เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฒเจˆ เจธเฉฐเจฏเฉเจ•เจค เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆเฅค MIR เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‡ เจ‡เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€
เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจ…เจคเฉ‡ เจŸเฉ€เจšเฉ‡ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเฉ‹:

  • MIR เจตเจฟเฉฑเจš เจธเฉฐเจ•เจฒเจจ GCC เจจเจพเจฒเฉ‹เจ‚ เจ˜เฉฑเจŸ เจคเฉ‹เจ‚ เจ˜เฉฑเจŸ 100 เจ—เฉเจฃเจพ เจคเฉ‡เจœเจผ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ;
  • MIR เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจฒเจˆ JIT เจฌเจนเฉเจค เจธเฉฐเจ–เฉ‡เจช เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจฆเฉ€เจ†เจ‚ เจฒเจ—เจญเจ— 15 เจนเจœเจผเจพเจฐ เจฒเจพเจˆเจจเจพเจ‚ เจธเจผเจพเจฎเจฒ เจนเฉ‹เจฃเฉ€เจ†เจ‚ เจšเจพเจนเฉ€เจฆเฉ€เจ†เจ‚ เจนเจจ;
  • JIT เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ MIR เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃเจพ GCC ("-O30" เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ) เจตเจฟเฉฑเจš เจ‰เจธเฉ‡ C เจ•เฉ‹เจก เจคเฉ‹เจ‚ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจจเจพเจฒเฉ‹เจ‚ 2% เจคเฉ‹เจ‚ เจตเฉฑเจง เจนเฉŒเจฒเฉ€ เจจเจนเฉ€เจ‚ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ;
  • เจ…เจธเจฒ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจชเฉœเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ 100 เจ—เฉเจฃเจพ เจ˜เฉฑเจŸ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ;
  • JIT เจฒเจˆ MIR เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ GCC เจตเจฟเฉฑเจš เจธเฉฐเจ•เจฒเจฟเจค เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจจเจพเจฒเฉ‹เจ‚ 100 เจ—เฉเจฃเจพ เจ›เฉ‹เจŸเฉ€ เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค

เจ‡เจธเจฆเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, MIR เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจจเจฟเจฐเจงเจพเจฐเจค เจŸเฉ€เจšเจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจ•เจˆ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจจเจพเจฒ เจ…เฉฑเจ—เฉ‡ เจนเฉˆ: เจŸเฉˆเจธเจŸเจพเจ‚ เจจเฉ‡ เจฆเจฟเจ–เจพเจ‡เจ† เจนเฉˆ เจ•เจฟ MIR เจตเจฟเฉฑเจš เจธเฉฐเจ•เจฒเจจ เจชเฉเจฐเจฆเจฐเจธเจผเจจ "GCC -O2" เจจเจพเจฒเฉ‹เจ‚ 178 เจ—เฉเจฃเจพ เจคเฉ‡เจœเจผ เจนเฉˆ, เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฎเฉ‚เจฒ เจ•เฉ‹เจก, เจ•เฉ‹เจก เจ†เจ•เจพเจฐ เจคเฉ‹เจ‚ 6% เจชเจฟเฉฑเจ›เฉ‡ เจนเฉˆเฅค 144 เจ—เฉเจฃเจพ เจ›เฉ‹เจŸเจพ เจนเฉˆ, MIR เจฒเจพเจ—เฉ‚เจ•เจฐเจจ JIT เจ•เฉ‹เจก เจฆเฉ€เจ†เจ‚ 16 เจนเจœเจผเจพเจฐ เจฒเจพเจˆเจจเจพเจ‚ เจนเฉˆเฅค

Red Hat MIR JIT เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ

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

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