GCC 9 เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจธเฉ‚เจŸ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ

เจตเจฟเจ•เจพเจธ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจพเจฒ เจฌเจพเจ…เจฆ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฆเฉ‡ เจ‡เฉฑเจ• เจฎเฉเจซเจค เจธเฉˆเฉฑเจŸ เจจเฉ‚เฉฐ เจœเจพเจฐเฉ€ เจ•เจฐเจจเจพ GCC 9.1, เจจเจตเฉ€เจ‚ GCC 9.x เจธเจผเจพเจ–เจพ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเฉ€ เจตเฉฑเจกเฉ€ เจฐเฉ€เจฒเฉ€เจœเจผเฅค เจ‡เจธเจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจจเจตเฉ€เจ‚ เจธเจ•เฉ€เจฎ เจฐเฉ€เจฒเฉ€เจœเจผ เจจเฉฐเจฌเจฐ, เจธเฉฐเจธเจ•เจฐเจฃ 9.0 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจตเจฟเจ•เจพเจธ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจตเจฟเฉฑเจš เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€, เจ…เจคเฉ‡ GCC 9.1 เจฆเฉ‡ เจœเจพเจฐเฉ€ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฅเฉ‹เฉœเฉเจนเฉ€ เจฆเฉ‡เจฐ เจชเจนเจฟเจฒเจพเจ‚, GCC 10.0 เจธเจผเจพเจ–เจพ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฌเฉฐเจฆ เจนเฉ‹ เจšเฉเฉฑเจ•เฉ€ เจธเฉ€, เจœเจฟเจธ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจ…เจ—เจฒเฉ€ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจฐเฉ€เจฒเฉ€เจœเจผ, GCC 10.1, เจฌเจฃเจพเจˆ เจœเจพเจตเฉ‡เจ—เฉ€เฅค

GCC 9.1 C++17 เจธเจŸเฉˆเจ‚เจกเจฐเจก เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจจเฉ‚เฉฐ เจธเจฅเจฟเจฐ เจ•เจฐเจจ เจฒเจˆ, เจญเจตเจฟเฉฑเจ– เจฆเฉ‡ C++20 เจธเจŸเฉˆเจ‚เจกเจฐเจก (เจ•เฉ‹เจกเจจเฉ‡เจฎ C++2a), เจกเฉ€ เจญเจพเจธเจผเจพ เจฒเจˆ เจซเจฐเฉฐเจŸเจเจ‚เจก เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เจฐเจจเจพ, OpenMP 5.0 เจฒเจˆ เจ…เฉฐเจธเจผเจ• เจธเจฎเจฐเจฅเจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฃ เจฒเจˆ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆเฅค , เจ“เจชเจจเจเจธเฉ€เจธเฉ€ 2.5 เจฒเจˆ เจฒเจ—เจญเจ— เจชเฉ‚เจฐเจพ เจธเจฎเจฐเจฅเจจ, เจฌเจพเจˆเจกเจฟเฉฐเจ— เจชเฉœเจพเจ… 'เจคเฉ‡ เจ‡เฉฐเจŸเจฐเจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจฒ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ เจ…เจคเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจฆเฉ€ เจฎเจพเจชเจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจฃเจพ, เจกเจพเจ‡เจ—เจจเฉŒเจธเจŸเจฟเจ• เจŸเฉ‚เจฒเจธ เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจ…เจคเฉ‡ เจจเจตเฉ€เจ†เจ‚ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚, OpenRISC, C-SKY V2 เจ…เจคเฉ‡ AMD GCN GPU เจฒเจˆ เจฌเฉˆเจ•เจเจ‚เจกเฅค

เจฎเฉเฉฑเจ– เจคเจฌเจฆเฉ€เจฒเฉ€:

  • เจกเฉ€ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†เฅค GCC เจตเจฟเฉฑเจš เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจซเจฐเฉฐเจŸเจเจ‚เจก เจธเจผเจพเจฎเจฒ เจนเฉˆ เจœเฉ€.เจกเฉ€.เจธเฉ€. (Gnu D เจ•เฉฐเจชเจพเจˆเจฒเจฐ) เจ…เจคเฉ‡ เจฐเจจเจŸเจพเจˆเจฎ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ (libphobos), เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ D เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจฎเจฟเจ†เจฐเฉ€ GCC เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค GCC เจตเจฟเฉฑเจš D เจญเจพเจธเจผเจพ เจธเจนเจพเจ‡เจคเจพ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เฅค เจธเจผเฉเจฐเฉ‚ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆ เจตเจพเจชเจธ 2011 เจตเจฟเฉฑเจš, เจชเจฐ 'เจคเฉ‡ เจ–เจฟเฉฑเจšเจฟเจ† เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจœเฉ€เจธเฉ€เจธเฉ€ เจฆเฉ€เจ†เจ‚ เจœเจผเจฐเฉ‚เจฐเจคเจพเจ‚ เจ…เจคเฉ‡ เจฌเฉŒเจงเจฟเจ• เจธเฉฐเจชเฉฑเจคเฉ€ เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจฆเฉ‡ เจกเจฟเจœเฉ€เจŸเจฒ เจฎเฉฐเจ—เจฒ, เจœเฉ‹ เจ•เจฟ เจกเฉ€ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฆเจพ เจตเจฟเจ•เจพเจธ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ, เจจเฉ‚เฉฐ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจ เจฆเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจตเจฟเฉฑเจš เจฒเจฟเจ†เจ‰เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจฆเฉ‡ เจ•เจพเจฐเจจ;
  • เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจŸเจฐ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเจฅเจฟเจคเฉ€เจ†เจ‚ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจธเจตเจฟเฉฑเจš เจธเจฎเฉ€เจ•เจฐเจจ (เจœเฉฐเจช เจŸเฉ‡เจฌเจฒ, เจฌเจฟเฉฑเจŸ เจŸเฉˆเจธเจŸ, เจซเฉˆเจธเจฒเจพ เจŸเฉเจฐเฉ€) เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจฃ เจฒเจˆ เจตเฉฑเจ–-เจตเฉฑเจ– เจฐเจฃเจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค เจฒเฉ€เจจเฉ€เจ…เจฐ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš "-ftree-switch-conversion" เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, "เจ•เฉ‡เจธ 2: เจ•เจฟเจตเฉ‡เจ‚ = 205; เจฌเจฐเฉ‡เจ•; เจ•เฉ‡เจธ 3: เจ•เจฟเจตเฉ‡เจ‚ = 305; เจฌเจฐเฉ‡เจ• เจตเจฐเจ—เฉ€เจ†เจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจธเจตเจฟเฉฑเจš เจธเจฎเฉ€เจ•เจฐเจจ เจธเจผเจพเจฎเจฒ เจนเฉˆ ;โ€ เจจเฉ‚เฉฐ "100 * เจ•เจฟเจตเฉ‡เจ‚ + 5" เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพ;
  • เจ‡เฉฐเจŸเจฐเจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจฒ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ‡เจจเจฒเจพเจˆเจจ เจคเฉˆเจจเจพเจคเฉ€ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจ†เจงเฉเจจเจฟเจ• C++ เจ•เฉ‹เจกเจฌเฉ‡เจธ เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจจเจตเฉ‡เจ‚ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ max-inline-insns-small, max-inline-insns-size, uninlined-function-insns, uninlined-function-time, uninlined-thunk-insns เจ…เจคเฉ‡ uninlined เจจเจพเจฒ เจตเจฟเจธเจคเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค -เจฅเฉฐเจ•-เจŸเจพเจˆเจฎ เจ เฉฐเจกเฉ‡/เจ—เจฐเจฎ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจตเฉฑเจ– เจ•เจฐเจจ เจฆเฉ€ เจธเจผเฉเฉฑเจงเจคเจพ เจ…เจคเฉ‡ เจนเจฎเจฒเจพเจตเจฐเจคเจพ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจฌเจนเฉเจค เจตเฉฑเจกเฉ‡ เจฒเจˆ เจธเฉเจงเจพเจฐเฉ€ เจฎเจพเจชเจฏเฉ‹เจ—เจคเจพ เจ…เจจเฉเจตเจพเจฆ เจ‡เจ•เจพเจˆเจ†เจ‚ (เจ‰เจฆเจพเจนเจฐเจฃ เจตเจœเฉ‹เจ‚, เจตเฉฑเจกเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจฟเฉฐเจ• เจ•เจฐเจจ เจฆเฉ‡ เจชเฉœเจพเจ… 'เจคเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚);
  • เจ•เฉ‹เจก เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒเจฟเฉฐเจ— (PGO - เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ-เจ—เจพเจˆเจกเจก เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ) เจฆเฉ‡ เจจเจคเฉ€เจœเจฟเจ†เจ‚ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจธเฉเจงเจพเจฐเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ•เฉ‹เจก เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ‡ เจ…เจงเจพเจฐ 'เจคเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒ เจ•เฉ‹เจก เจคเจฟเจ†เจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจธเฉฐเจ–เฉ‡เจช เจตเจฟเจ•เจฒเจช "-เจชเฉเจฐเฉ‹เจซเจพเจ‡เจฒ-เจตเจฐเจคเฉ‹เจ‚" เจนเฉเจฃ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ เจฎเฉ‹เจก เจธเจผเจพเจฎเจฒ เจนเจจ "-fversion-loops-for-strides", "-floop-interchange", "-floop-unroll-and-jam" เจ…เจคเฉ‡ "-ftree-loop-distribution"เฅค เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจพเจŠเจ‚เจŸเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจนเจฟเจธเจŸเฉ‹เจ—เฉเจฐเจพเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจจเฉ‚เฉฐ เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเจฟเจธ เจจเจพเจฒ เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจซเจพเจˆเจฒเจพเจ‚ เจฆเจพ เจ†เจ•เจพเจฐ เจ˜เจŸเจฟเจ† เจนเฉˆ (เจฒเจฟเฉฐเจ•เจฟเฉฐเจ— เจฆเฉŒเจฐเจพเจจ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจนเจฟเจธเจŸเฉ‹เจ—เฉเจฐเจพเจฎ เจนเฉเจฃ เจซเจฒเจพเจˆ 'เจคเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ);
  • เจเจจเจนเจพเจ‚เจธเจก เจฒเจฟเฉฐเจ•เจฟเฉฐเจ— เจŸเจพเจˆเจฎ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ (LTO)เฅค เจจเจคเฉ€เจœเจพ เจฌเจฃเจพเจ‰เจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเจพ เจธเจฐเจฒเฉ€เจ•เจฐเจจ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจœเจฟเจธ เจจเจพเจฒ LTO เจ†เจฌเจœเฉˆเจ•เจŸ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจ†เจ•เจพเจฐ เจจเฉ‚เฉฐ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจ˜เจŸเจพเจ‰เจฃเจพ, เจฌเจพเจˆเจกเจฟเฉฐเจ— เจชเฉœเจพเจ… 'เจคเฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ€ เจ–เจชเจค เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‰เจฃเจพ, เจ…เจคเฉ‡ เจ•เจพเจฐเจœเจพเจ‚ เจฆเฉ‡ เจธเจฎเจพเจจเจคเจพ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆเฅค เจญเจพเจ—เจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ (-param lto-partitions) เจจเฉ‚เฉฐ 32 เจคเฉ‹เจ‚ เจตเจงเจพ เจ•เฉ‡ 128 เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ•เจฟ CPU เจฅเจฐเจฟเฉฑเจกเจพเจ‚ เจฆเฉ€ เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจพเจฒเฉ‡ เจธเจฟเจธเจŸเจฎเจพเจ‚ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ†เจชเจŸเฉ€เจฎเจพเจˆเจœเจผเจฐ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจจเฉ‚เฉฐ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ
    "-เจชเจฐเจฎ lto-เจฎเฉˆเจ•เจธ-เจธเจŸเฉเจฐเฉ€เจฎเจฟเฉฐเจ—-เจธเจฎเจพเจ‚เจคเจฐเจคเจพ";

    เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, GCC 8.3 เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡, GCC 9 เจตเจฟเฉฑเจš เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ‡ เจ—เจ เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฑเจคเฉ€ เจซเจพเจ‡เจฐเจซเจพเจ•เจธ 5 เจ…เจคเฉ‡ เจฒเจฟเจฌเจฐเฉ‡เจ†เจซเจฟเจธ 66 เจฆเฉ‡ เจธเฉฐเจ•เจฒเจจ เจธเจฎเฉ‡เจ‚ เจจเฉ‚เฉฐ เจฒเจ—เจญเจ— 6.2.3% เจ˜เจŸเจพเจ“เฅค เจ†เจฌเจœเฉˆเจ•เจŸ เจซเจพเจˆเจฒเจพเจ‚ เจฆเจพ เจ†เจ•เจพเจฐ 7% เจ˜เจŸเจฟเจ† เจนเฉˆเฅค เจ‡เฉฑเจ• 8-เจ•เฉ‹เจฐ CPU 'เจคเฉ‡ เจฌเจพเจˆเจกเจฟเฉฐเจ— เจธเจฎเจพเจ‚ 11% เจ˜เจŸเจฟเจ† เจนเฉˆเฅค เจฒเจฟเฉฐเจ•เจฟเฉฐเจ— เจชเฉœเจพเจ… เจฆเจพ เจ•เฉเจฐเจฎเจตเจพเจฐ เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจชเฉœเจพเจ… เจนเฉเจฃ 28% เจคเฉ‡เจœเจผ เจนเฉˆ เจ…เจคเฉ‡ 20% เจ˜เฉฑเจŸ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ€ เจ–เจชเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค LTO เจฆเฉ‡ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจชเฉœเจพเจ… เจฆเฉ‡ เจนเจฐเฉ‡เจ• เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ เจฆเฉ€ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ–เจชเจค 30% เจ˜เจŸเฉ€ เจนเฉˆ;

  • เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจธเจฎเจพเจ‚เจคเจฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจจเจฟเจฐเจงเจพเจฐเจจ C, C++ เจ…เจคเฉ‡ เจซเฉ‹เจฐเจŸเจฐเจจ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฒเจˆ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ OpenACC 2.5, เจœเฉ‹ เจ•เจฟ GPU เจ…เจคเฉ‡ เจตเจฟเจธเจผเฉ‡เจธเจผ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจพเจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ NVIDIA PTX 'เจคเฉ‡ เจ”เจซเจฒเฉ‹เจกเจฟเฉฐเจ— เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ เจŸเฉ‚เจฒ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ;
  • เจธเจŸเฉˆเจ‚เจกเจฐเจก เจฒเจˆ เจ…เฉฐเจธเจผเจ• เจธเจฎเจฐเจฅเจจ C เจ…เจคเฉ‡ C++ เจฒเจˆ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ“เจชเจจ เจเจฎ เจชเฉ€ 5.0 (เจ“เจชเจจ เจฎเจฒเจŸเฉ€-เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ—), เจœเฉ‹ เจ•เจฟ เจธเจพเจ‚เจเฉ€ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ…เจคเฉ‡ เจตเฉˆเจ•เจŸเฉ‹เจฐเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจฏเฉ‚เจจเจฟเจŸเจพเจ‚ (SIMD) เจตเจพเจฒเฉ‡ เจฎเจฒเจŸเฉ€-เจ•เฉ‹เจฐ เจ…เจคเฉ‡ เจนเจพเจˆเจฌเฉเจฐเจฟเจก (CPU+GPU/DSP) เจธเจฟเจธเจŸเจฎเจพเจ‚ 'เจคเฉ‡ C, C++ เจ…เจคเฉ‡ Fortran เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฒเจˆ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจตเจฟเจงเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ‡ API เจ…เจคเฉ‡ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค ;
  • C เจญเจพเจธเจผเจพ เจฒเจˆ เจจเจตเฉ€เจ†เจ‚ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจนเจจ: "-เจชเฉฑเจ•เฉ‡-เจฎเฉˆเจ‚เจฌเจฐ เจฆเจพ เจชเจนเจฟเจฐเจพเจตเจพ" (เจ•เจฟเจธเฉ‡ เจขเจพเจ‚เจšเฉ‡ เจœเจพเจ‚ เจฏเฉ‚เจจเฉ€เจ…เจจ เจฆเฉ‡ เจชเฉˆเจ• เจ•เฉ€เจคเฉ‡ เจฎเฉˆเจ‚เจฌเจฐ เจฒเจˆ เจ…เจฒเจพเจˆเจจ เจชเฉเจ†เจ‡เฉฐเจŸเจฐ เจฎเฉเฉฑเจฒ) เจ…เจคเฉ‡
    ยซ-เจตเจพเจฌเจธเฉ‹เจฒเจฟเจŠเจŸ-เจฎเฉเฉฑเจฒ" (เจ‡เฉฑเจ• เจชเฉ‚เจฐเจจ เจฎเฉเฉฑเจฒ เจฆเฉ€ เจ—เจฃเจจเจพ เจ•เจฐเจจ เจฒเจˆ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจœเฉ‡เจ•เจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจฒเจˆ เจ•เฉ‹เจˆ เจนเฉ‹เจฐ เจขเฉเจ•เจตเจพเจ‚ เจซเฉฐเจ•เจธเจผเจจ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, abs(3.14) เจฆเฉ€ เจฌเจœเจพเจ fabs(3.14) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค C++ เจฒเจˆ เจจเจตเฉ€เจ‚ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚: "-Wdeprecated-copy",
    "-Winit-list-lifetime", "-Wredundant-move", "-Wpessimizing-move" เจ…เจคเฉ‡ "-Wclass-conversion"เฅค เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ‰เจชเจฒเจฌเจง เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ;

  • เจญเจตเจฟเฉฑเจ– เจฆเฉ‡ C เจญเจพเจธเจผเจพ เจธเจŸเฉˆเจ‚เจกเจฐเจก, เจ•เฉ‹เจกเจจเฉ‡เจฎ C2x เจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจฒเจˆ เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจธเจนเจพเจ‡เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆเฅค C2x เจธเจนเจพเจ‡เจคเจพ เจจเฉ‚เฉฐ เจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ, "-std=c2x" เจ…เจคเฉ‡ "-std=gnu2x" (GNU เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจ เจฒเจˆ) เจตเจฟเจ•เจฒเจชเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹เฅค เจธเจŸเฉˆเจ‚เจกเจฐเจก เจ…เจœเฉ‡ เจตเฉ€ เจตเจฟเจ•เจพเจธ เจฆเฉ‡ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจชเฉœเจพเจ… 'เจคเฉ‡ เจนเฉˆ, เจ‡เจธเจฒเจˆ, เจ‡เจธเจฆเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจฆเฉ‡, เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจฆเฉ‡ เจจเจพเจฒ _Static_assert เจธเจฎเฉ€เจ•เจฐเจจ เจธเจฎเจฐเจฅเจฟเจค เจนเฉˆ (11 เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ _Static_assert CXNUMX เจตเจฟเฉฑเจš เจฎเจพเจจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจนเฉˆ);
  • C++ 17 เจธเจŸเฉˆเจ‚เจกเจฐเจก เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจธเจฅเจฟเจฐ เจ˜เฉ‹เจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจซเจฐเฉฐเจŸเจเจ‚เจก เจตเจฟเฉฑเจš, C++ 17 เจฆเฉ€เจ†เจ‚ เจญเจพเจธเจผเจพ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจ…เจคเฉ‡ libstdc++ เจตเจฟเฉฑเจš, เจธเจŸเฉˆเจ‚เจกเจฐเจก เจตเจฟเฉฑเจš เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจซเฉฐเจ•เจธเจผเจจ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ‡ เจจเฉ‡เฉœเฉ‡ เจนเจจ;
  • เจœเจพเจฐเฉ€ เจนเฉˆ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจญเจตเจฟเฉฑเจ– เจฆเฉ‡ C++2a เจธเจŸเฉˆเจ‚เจกเจฐเจก เจฆเฉ‡ เจคเฉฑเจคเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€เจ•เจฐเจฃ เจฆเฉŒเจฐเจพเจจ เจฐเฉ‡เจ‚เจœเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจฒเจพเจ‚เจฌเจกเจพ เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ เจฒเจˆ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจกเฉ‡เจŸเจพ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจ–เจพเจฒเฉ€ เจฎเฉˆเจ‚เจฌเจฐเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจ…เจคเฉ‡ เจธเฉฐเจญเจพเจตเจค/เจ…เจธเฉฐเจญเจพเจตเจฟเจค เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจนเจจ, เจธเจผเจฐเจคเฉ€เจ† เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจšเฉเจ…เจฒ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ , เจ†เจฆเจฟ
    C++2a เจธเจฎเจฐเจฅเจจ เจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ, "-std=c++2a" เจ…เจคเฉ‡ "-std=gnu++2a" เจตเจฟเจ•เจฒเจชเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹เฅค C++2a, std::remove_cvref, std::unwrap_reference, std::unwrap_decay_ref, std::is_nothrow_convertible เจ…เจคเฉ‡ std::type_identity เจ—เฉเจฃเจพเจ‚, std::midpoint, std::ppointment เจฒเจˆ เจฌเจฟเฉฑเจŸ เจ…เจคเฉ‡ เจตเจฐเจœเจจ เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ libstdc++ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค , std::bind_front,
    std::visit, std::is_constant_evaluated เจ…เจคเฉ‡ std::assume_aligned, char8_t เจ•เจฟเจธเจฎ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจธเจŸเฉเจฐเจฟเฉฐเจ—เจœเจผ เจฆเฉ‡ เจ…เจ—เฉ‡เจคเจฐ เจ…เจคเฉ‡ เจชเจฟเจ›เฉ‡เจคเจฐ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจนเฉˆ (เจธเจผเฉเจฐเฉ‚_เจตเจฟเจฆ, เจ…เฉฐเจค_เจตเจฟเจฆ);

  • เจจเจตเฉ‡เจ‚ ARM เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†
    Cortex-A76, Cortex-A55, Cortex-A76 DynamIQ big.LITTLE เจ…เจคเฉ‡ Neoverse N1เฅค เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจธเฉฐเจ–เจฟเจ†เจตเจพเจ‚, เจธเฉ‚เจกเฉ‹-เจฐเฉˆเจ‚เจกเจฎ เจจเฉฐเจฌเจฐ เจœเจจเจฐเฉ‡เจธเจผเจจ (rng) เจ…เจคเฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจŸเฉˆเจ—เจฟเฉฐเจ— (เจฎเฉ‡เจฎเจŸเฉˆเจ—) เจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ†เจฐเจฎเจตเฉ€8.3-เจ เจตเจฟเฉฑเจš เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจนเจฆเจพเจ‡เจคเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ…เจคเฉ‡ เจจเจพเจฒ เจนเฉ€ เจฌเฉเจฐเจพเจ‚เจš เจชเฉ‚เจฐเจต-เจ…เจจเฉเจฎเจพเจจ เจฏเฉ‚เจจเจฟเจŸ เจฆเฉ‡ เจธเฉฑเจŸเฉ‡เจฌเจพเจœเจผเฉ€ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจ…เจคเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเจฎเจฒเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจฒเจˆ เจจเจฟเจฐเจฆเฉ‡เจธเจผเฅค . AArch64 เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฒเจˆ, เจ‡เฉฑเจ• เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฎเฉ‹เจก เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจธเจŸเฉˆเจ• เจ…เจคเฉ‡ เจนเฉ€เจช เจ‡เฉฐเจŸเจฐเจธเฉˆเจ•เจธเจผเจจ ("-fstack-clash-protection")เฅค Armv8.5-A เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ, เจตเจฟเจ•เจฒเจช โ€œ-march=armv8.5-aโ€ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค

  • เจ‡เจธ เจตเจฟเฉฑเจš GCN เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ AMD GPUs เจฒเจˆ เจ•เฉ‹เจก เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจฌเฉˆเจ•เจเจ‚เจก เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจธเจฟเฉฐเจ—เจฒ-เจฅเฉเจฐเฉˆเฉฑเจกเจก เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจ•เจฒเจจ เจคเฉฑเจ• เจธเฉ€เจฎเจฟเจค เจนเฉˆ (เจ“เจชเจจเจเจฎเจชเฉ€ เจ…เจคเฉ‡ เจ“เจชเจจเจเจธเฉ€เจธเฉ€ เจฆเฉเจ†เจฐเจพ เจฎเจฒเจŸเฉ€-เจฅเฉเจฐเฉˆเจกเจก เจ—เจฃเจจเจพ เจ•เจฐเจจ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ) เจ…เจคเฉ‡ GPU เจซเจฟเจœเฉ€ เจ…เจคเฉ‡ เจตเฉ‡เจ—เจพ 10 เจฒเจˆ เจธเจฎเจฐเจฅเจจ;
  • เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจพเจ‚ เจฒเจˆ เจจเจตเจพเจ‚ เจฌเฉˆเจ•เจเจ‚เจก เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจ“เจชเจจ RISC;
  • เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจพเจ‚ เจฒเจˆ เจฌเฉˆเจ•เจเจ‚เจก เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† C-SKY V2, เจตเฉฑเจ–-เจตเฉฑเจ– เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ‰เจชเจ•เจฐเจฃเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ•เฉ‹ เจจเจพเจฎ เจฆเฉ€ เจšเฉ€เจจเฉ€ เจ•เฉฐเจชเจจเฉ€ เจฆเฉเจ†เจฐเจพ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ;
  • เจธเจพเจฐเฉ‡ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจตเจฟเจ•เจฒเจช เจœเฉ‹ เจฌเจพเจˆเจŸ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจšเจพเจฒเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเจจ เจชเจฟเจ›เฉ‡เจคเจฐ kb, KiB, MB, MiB, GB เจ…เจคเฉ‡ GiB เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเฉ‡ เจนเจจ;
  • เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ "-เจซเจฒเจพเจˆเจต-เจชเฉˆเจšเจฟเฉฐเจ—=[เจ‡เจจเจฒเจพเจˆเจจ-เจ“เจจเจฒเฉ€-เจธเจŸเฉˆเจŸเจฟเจ•|เจ‡เจจเจฒเจพเจˆเจจ-เจ•เจฒเฉ‹เจจ]" เจตเจฟเจ•เจฒเจช เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฐเจŸเจฐเจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ 'เจคเฉ‡ เจฌเจนเฉ-เจชเฉฑเจงเจฐเฉ€ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจฆเฉ‡ เจ•เจพเจฐเจจ เจฒเจพเจˆเจต-เจชเฉˆเจšเจฟเฉฐเจ— เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจฒเจˆ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจธเฉฐเจ•เจฒเจจ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ (IPA) เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ;
  • เจฌเฉˆเจธเจผ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจตเจฟเจ•เจฒเจช เจธเฉฐเจชเฉ‚เจฐเจจเจคเจพ เจฆเฉ‡ เจตเจงเฉ€เจ† เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจฒเจˆ "--completion" เจตเจฟเจ•เจฒเจช เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†;
  • เจกเจพเจ‡เจ—เจจเฉŒเจธเจŸเจฟเจ• เจŸเฉ‚เจฒ เจธเจฐเฉ‹เจค เจŸเฉˆเจ•เจธเจŸ เจ…เฉฐเจธเจผเจพเจ‚ เจฆเฉ€ เจกเจฟเจธเจชเจฒเฉ‡ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ‡ เจนเจจ เจœเฉ‹ เจฒเจพเจˆเจจ เจจเฉฐเจฌเจฐ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเฉ‚เฉฐ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ—เจค เจคเฉŒเจฐ 'เจคเฉ‡ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเจจ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ“เจชเจฐเฉ‡เจ‚เจก เจ•เจฟเจธเจฎเจพเจ‚เฅค เจฒเจพเจˆเจจ เจจเฉฐเจฌเจฐเจพเจ‚ เจ…เจคเฉ‡ เจฒเฉ‡เจฌเจฒเจพเจ‚ เจฆเฉ‡ เจกเจฟเจธเจชเจฒเฉ‡เจ… เจจเฉ‚เฉฐ เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ, "-fno-diagnostics-show-line-numbers" เจ…เจคเฉ‡ "-fno-diagnostics-show-labels" เจตเจฟเจ•เจฒเจช เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ;

    GCC 9 เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจธเฉ‚เจŸ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ

  • เจตเจฟเจธเจคเจพเจฐ เจ•เฉ€เจคเจพ C++ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจคเจฐเฉเฉฑเจŸเฉ€เจ†เจ‚ เจฆเจพ เจจเจฟเจฆเจพเจจ เจ•เจฐเจจ เจฒเจˆ เจŸเฉ‚เจฒ, เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจ•เจพเจฐเจจเจพเจ‚ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ€ เจธเฉเจงเจฐเฉ€ เจชเฉœเฉเจนเจจเจฏเฉ‹เจ—เจคเจพ เจ…เจคเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจตเจพเจฒเฉ‡ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจœเจพเจ—เจฐ เจ•เจฐเจจเจพ;

    GCC 9 เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจธเฉ‚เจŸ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ

  • เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจตเจฟเจ•เจฒเจช โ€œ-fdiagnostics-format=jsonโ€, เจœเฉ‹ เจฎเจธเจผเฉ€เจจ-เจชเฉœเฉเจนเจจเจฏเฉ‹เจ— เจซเจพเจฐเจฎเฉˆเจŸ (JSON) เจตเจฟเฉฑเจš เจกเจพเจ‡เจ—เจจเฉŒเจธเจŸเจฟเจ• เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ;
  • เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจจ เจฒเจˆ เจธเจฐเฉ‹เจค เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจจ เจฒเจˆ เจจเจตเฉ‡เจ‚ เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ เจตเจฟเจ•เจฒเจช "-fprofile-filter-files" เจ…เจคเฉ‡ "-fprofile-exclude-files" เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ;
  • เจเจกเจฐเฉˆเฉฑเจธ เจธเฉˆเจจเฉ€เจŸเจพเจˆเจœเจผเจฐ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฒเจˆ เจตเจงเฉ‡เจฐเฉ‡ เจธเฉฐเจ–เฉ‡เจช เจตเฉˆเจฐเฉ€เจซเจฟเจ•เฉ‡เจธเจผเจจ เจ•เฉ‹เจก เจฆเจพ เจจเจฟเจฐเจฎเจพเจฃ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจœเจพเจ‚เจš เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจซเจพเจˆเจฒ เจฆเฉ€ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ–เจชเจค เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ;
  • เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐเฉ€ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ "-fopt-เจœเจพเจฃเจ•เจพเจฐเฉ€ยป (เจœเฉ‹เฉœเฉ‡ เจ—เจ เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจฌเจพเจฐเฉ‡ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจœเจพเจฃเจ•เจพเจฐเฉ€)เฅค เจชเจนเจฟเจฒเจพเจ‚ เจ‰เจชเจฒเจฌเจง เจ…เจ—เฉ‡เจคเจฐ "เจจเฉ‹เจŸ" เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ "เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค" เจ…เจคเฉ‡ "เจ–เฉเฉฐเจเฉ‡" เจจเจตเฉ‡เจ‚ เจ…เจ—เฉ‡เจคเจฐ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค เจ‡เจจเจฒเจพเจˆเจจ-เจ‡เจจเจซเฉ‹เจฒเจกเจฟเฉฐเจ— เจ…เจคเฉ‡ เจšเฉฑเจ•เจฐเจพเจ‚ เจฆเฉ‡ เจตเฉˆเจ•เจŸเจฐเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจฌเจพเจฐเฉ‡ เจซเฉˆเจธเจฒเฉ‡ เจฒเฉˆเจฃ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเจพ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†;
  • "-fsave-optimization-record" เจตเจฟเจ•เจฒเจช เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเจฆเฉ‹เจ‚ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, GCC SRCFILE.opt-record.json.gz เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ•เฉเจ เจ–เจพเจธ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ 'เจคเฉ‡ เจซเฉˆเจธเจฒเจฟเจ†เจ‚ เจฆเฉ‡ เจตเฉ‡เจฐเจตเฉ‡ เจฆเฉ‡ เจจเจพเจฒ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจจเจตเจพเจ‚ เจตเจฟเจ•เจฒเจช เจตเจพเจงเฉ‚ เจฎเฉˆเจŸเจพเจกเฉ‡เจŸเจพ เจธเจผเจพเจฎเจฒ เจ•เจฐเจ•เฉ‡ โ€œ-fopt-infoโ€ เจฎเฉ‹เจก เจคเฉ‹เจ‚ เจตเฉฑเจ–เจฐเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ เจ…เจคเฉ‡ เจ‡เจจเจฒเจพเจˆเจจ เจšเฉ‡เจจเจพเจ‚ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€;
  • เจธเจŸเฉˆเจ• เจ…เจฒเจพเจˆเจจเจฎเฉˆเจ‚เจŸ เจจเฉ‚เฉฐ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เจฐเจจ เจฒเจˆ "-เจซเจพเจˆเจชเจพ-เจธเจŸเฉˆเจ•-เจ…เจฒเจพเจˆเจจเจฎเฉˆเจ‚เจŸ" เจ…เจคเฉ‡ "-เจซเจพเจˆเจชเจพ-เจฐเฉˆเจซเจฐเฉˆเจ‚เจธ-เจเจกเจฐเฉˆเจธเฉ‡เจฌเจฒ" เจตเจฟเจ•เจฒเจช เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ เจ…เจคเฉ‡ เจ‡เฉฐเจŸเจฐเจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจฒ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉŒเจฐเจพเจจ เจธเจฅเจฟเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฒเจˆ เจเจกเจฐเฉˆเจธเจฟเฉฐเจ— เจฎเฉ‹เจกเจพเจ‚ (เจ•เฉ‡เจตเจฒ-เจฒเจฟเจ–เจฃ เจœเจพเจ‚ เจชเฉœเฉเจนเจจ-เจธเจนเฉ€) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚;
  • เจจเจตเฉ‡เจ‚ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจฌเจพเจˆเจกเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจจเจพเจฒ เจนเฉ€ เจฌเฉเจฐเจพเจ‚เจš เจชเฉ‚เจฐเจต-เจ…เจจเฉเจฎเจพเจจ เจ…เจคเฉ‡ เจธเฉฑเจŸเฉ‡เจฌเจพเจœเฉ€ เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจตเจฟเจตเจนเจพเจฐ: "__เจฌเจฟเจฒเจŸเจฟเจจ_เจนเฉˆ_เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพยซ,ยซ__เจฌเจฟเจฒเจŸเจฟเจจ_เจ‰เจฎเฉ€เจฆ_เจจเจพเจฒ_เจธเฉฐเจญเจพเจตเจจเจพ"เจ…เจคเฉ‡"__เจฌเจฟเจฒเจŸเจฟเจจ_เจธเจชเฉˆเจ•เจŸเฉ‚เจฒเฉ‡เจธเจผเจจ_เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค_เจฎเฉเฉฑเจฒ". เจซเฉฐเจ•เจธเจผเจจเจพเจ‚, เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจ…เจคเฉ‡ เจ•เจฟเจธเจฎเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจ—เฉเจฃ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจ•เจพเจชเฉ€;
  • เจซเฉ‹เจฐเจŸเจฐเจจ เจญเจพเจธเจผเจพ เจฒเจˆ เจ…เจธเจฟเฉฐเจ•เจฐเฉ‹เจจเจธ เจ‡เฉฐเจชเฉเฉฑเจŸ/เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฒเจˆ เจชเฉ‚เจฐเจพ เจธเจฎเจฐเจฅเจจ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ;
  • เจธเฉ‹เจฒเจพเจฐเจฟเจธ 10 (*-*-solaris2.10) เจ…เจคเฉ‡ Cell/BE (เจธเฉˆเจฒ เจฌเจฐเจพเจกเจฌเฉˆเจ‚เจก เจ‡เฉฐเจœเจฃ SPU) เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจ…เจ—เจฒเฉ€ เจตเฉฑเจกเฉ€ เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค Armv2, Armv3, Armv5 เจ…เจคเฉ‡ Armv5E เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฒเจˆ เจธเจนเจฟเจฏเฉ‹เจ— เจฌเฉฐเจฆ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค Intel MPX (เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจชเฉเจฐเฉ‹เจŸเฉˆเจ•เจธเจผเจจ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ) เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจฌเฉฐเจฆ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

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

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