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) เชจเซ€ เช•เซเชทเชฎเชคเชพเช“เชจเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เชตเซเช‚, D เชญเชพเชทเชพ เชฎเชพเชŸเซ‡ เชซเซเชฐเชจเซเชŸเชเชจเซเชกเชฎเชพเช‚ เชธเชฎเชพเชตเซ‡เชถ, OpenMP 5.0 เชฎเชพเชŸเซ‡ เช†เช‚เชถเชฟเช• เชธเชชเซ‹เชฐเซเชŸ. , OpenACC 2.5 เชฎเชพเชŸเซ‡ เชฒเช—เชญเช— เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเชฎเชฐเซเชฅเชจ, เชฌเชพเช‡เชจเซเชกเชฟเช‚เช— เชธเซเชŸเซ‡เชœ เชชเชฐ เช‡เชจเซเชŸเชฐเชชเซเชฐเซ‹เชธเซ‡เชธเชฐเชฒ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เช…เชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเซ€ เชฎเชพเชชเชจเซ€เชฏเชคเชพเชฎเชพเช‚ เชตเชงเชพเชฐเซ‹, เชกเชพเชฏเช—เซเชจเซ‹เชธเซเชŸเชฟเช• เชŸเซ‚เชฒเซเชธเชจเซเช‚ เชตเชฟเชธเซเชคเชฐเชฃ เช…เชจเซ‡ เชจเชตเซ€ เชšเซ‡เชคเชตเชฃเซ€เช“เชจเซ‹ เช‰เชฎเซ‡เชฐเซ‹, OpenRISC, C-SKY V2 เช…เชจเซ‡ AMD GCN GPU เชฎเชพเชŸเซ‡ เชฌเซ‡เช•เชเชจเซเชก.

เชฎเซเช–เซเชฏ เชซเซ‡เชฐเชซเชพเชฐ:

  • D เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชฎเชพเชŸเซ‡ เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เชธเชชเซ‹เชฐเซเชŸ. 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 - เชชเซเชฐเซ‹เชซเชพเช‡เชฒ-เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชฟเชค เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ) เชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟเชฎเชพเช‚ เชธเซเชงเชพเชฐเซ‹ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡, เชœเซ‡ เช•เซ‹เชก เชเช•เซเชเชฟเช•เซเชฏเซเชถเชจเชจเซ€ เชฒเชพเช•เซเชทเชฃเชฟเช•เชคเชพเช“เชจเชพ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเชพ เช†เชงเชพเชฐเซ‡ เชตเชงเซ เชถเซเชฐเซ‡เชทเซเช  เช•เซ‹เชก เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡. เชธเชพเชฐเชพเช‚เชถ เชตเชฟเช•เชฒเซเชช "-fเชชเซเชฐเซ‹เชซเชพเชˆเชฒ-เช‰เชชเชฏเซ‹เช—" เชนเชตเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชฎเซ‹เชกเซเชธ "-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 เชฎเชพเช‚ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชฐเชœเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชฎเช‚เชœเซ‚เชฐเซ€ Firefox 5 เช…เชจเซ‡ LibreOffice 66 เชจเชพ เชธเช‚เช•เชฒเชจ เชธเชฎเชฏเชจเซ‡ เชฒเช—เชญเช— 6.2.3% เช˜เชŸเชพเชกเซ‡ เช›เซ‡. เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชซเชพเช‡เชฒเซ‹เชจเชพ เช•เชฆเชฎเชพเช‚ 7% เช˜เชŸเชพเชกเซ‹ เชฅเชฏเซ‹ เช›เซ‡. 8-เช•เซ‹เชฐ CPU เชชเชฐ เชฌเช‚เชงเชจเชจเซ‹ เชธเชฎเชฏ 11% เช˜เชŸเซเชฏเซ‹. เชฒเชฟเช‚เช•เชฟเช‚เช— เชธเซเชŸเซ‡เชœเชจเซ‹ เช•เซเชฐเชฎเชฟเช• เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชธเซเชŸเซ‡เชœ เชนเชตเซ‡ 28% เชเชกเชชเซ€ เช›เซ‡ เช…เชจเซ‡ 20% เช“เช›เซ€ เชฎเซ‡เชฎเชฐเซ€ เชตเชพเชชเชฐเซ‡ เช›เซ‡. LTO เชจเชพ เชธเชฎเชพเช‚เชคเชฐ เชคเชฌเช•เซเช•เชพเชจเชพ เชฆเชฐเซ‡เช• เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเชจเซ‹ เชฎเซ‡เชฎเชฐเซ€ เชตเชชเชฐเชพเชถ 30% เช˜เชŸเซเชฏเซ‹;

  • เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชธเชฎเชพเช‚เชคเชฐ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชธเซเชชเชทเซเชŸเซ€เช•เชฐเชฃเซ‹ C, C++ เช…เชจเซ‡ Fortran เชญเชพเชทเชพเช“ เชฎเชพเชŸเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ 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 เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟ เชธเชฎเชฐเซเชฅเชฟเชค เช›เซ‡ (C11 เชฎเชพเช‚ เชฌเซ‡ เชฆเชฒเซ€เชฒเซ‹ เชธเชพเชฅเซ‡ _Static_assert เชชเซเชฐเชฎเชพเชฃเชฟเชค เช›เซ‡);
  • 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 traits, std::midpoint, function, std::type_identity, std::remove_cvref เชฎเชพเชŸเซ‡ libstdc++ เชฎเชพเช‚ เชฌเซ€เชŸ เช…เชจเซ‡ เชตเชฐเซเชเชจ เชนเซ‡เชกเชฐ เชซเชพเชˆเชฒเซ‹ เช‰เชฎเซ‡เชฐเซ€. , std::bind_front,
    std::visit, std::is_constant_evaluated เช…เชจเซ‡ std::assume_aligned, char8_t เชชเซเชฐเช•เชพเชฐ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช‰เชฎเซ‡เชฐเซเชฏเซ‹, เชถเชฌเซเชฆเชฎเชพเชณเชพเช“เชจเชพ เช‰เชชเชธเชฐเซเช— เช…เชจเซ‡ เชชเซเชฐเชคเซเชฏเชฏ (starts_with, ends_with) เชจเซ‡ เชคเชชเชพเชธเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ€;

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

  • เชคเซ‡เชฎเชพเช‚ GCN เชฎเชพเชˆเช•เซเชฐเซ‹เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชชเชฐ เช†เชงเชพเชฐเชฟเชค AMD GPU เชฎเชพเชŸเซ‡ เช•เซ‹เชก เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฌเซ‡เช•เชเชจเซเชกเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. เช…เชฎเชฒเซ€เช•เชฐเชฃ เชนเชพเชฒเชฎเชพเช‚ เชธเชฟเช‚เช—เชฒ-เชฅเซเชฐเซ‡เชกเซ‡เชก เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเชพ เชธเช‚เช•เชฒเชจ เชธเซเชงเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช›เซ‡ (เช“เชชเชจเชเชฎเชชเซ€ เช…เชจเซ‡ เช“เชชเชจเชเชธเซ€เชธเซ€ เชฆเซเชตเชพเชฐเชพ เชฎเชฒเซเชŸเชฟ-เชฅเซเชฐเซ‡เชกเซ‡เชก เช—เชฃเชคเชฐเซ€เช“ เชนเชพเชฅ เชงเชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เชชเช›เซ€เชฅเซ€ เช“เชซเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡) เช…เชจเซ‡ GPU เชซเชฟเชœเซ€ เช…เชจเซ‡ เชตเซ‡เช—เชพ 10 เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ;
  • เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซ‹ เชฎเชพเชŸเซ‡ เชจเชตเซ‹ เชฌเซ‡เช•เชเชจเซเชก เช‰เชฎเซ‡เชฐเซเชฏเซ‹ OpenRISC;
  • เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซ‹ เชฎเชพเชŸเซ‡ เชฌเซ‡เช•เชเชจเซเชก เช‰เชฎเซ‡เชฐเซเชฏเซเช‚ C-SKY V2, เชตเชฟเชตเชฟเชง เช‰เชชเชญเซ‹เช•เซเชคเชพ เช‰เชชเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ เชจเชพเชฎเชจเซ€ เชšเชพเช‡เชจเซ€เช เช•เช‚เชชเชจเซ€ เชฆเซเชตเชพเชฐเชพ เช‰เชคเซเชชเชพเชฆเชฟเชค;
  • เชฌเชงเชพ เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชตเชฟเช•เชฒเซเชชเซ‹ เช•เซ‡ เชœเซ‡ เชฌเชพเช‡เชŸ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ kb, KiB, MB, MiB, GB เช…เชจเซ‡ GiB เชชเซเชฐเชคเซเชฏเชฏเซ‹เชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเซ‡ เช›เซ‡;
  • เช…เชฎเชฒเซ€ โ€œ-flive-patching=[inline-only-static|inline-clone]โ€ เชตเชฟเช•เชฒเซเชช เชคเชฎเชจเซ‡ เช‡เชจเซเชŸเชฐเชชเซเชฐเซ‹เชธเซ‡เชกเชฐเชฒเชจเชพ เช‰เชชเชฏเซ‹เช— เชชเชฐ เชฌเชนเซ-เชธเซเชคเชฐเซ€เชฏ เชจเชฟเชฏเช‚เชคเซเชฐเชฃเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชฒเชพเช‡เชต-เชชเซ‡เชšเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซเชธ เชฎเชพเชŸเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เชธเช‚เช•เชฒเชจ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.เช†เชˆเชชเซ€เช) เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ;
  • เชฌเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชตเชฟเช•เชฒเซเชช เชชเซ‚เชฐเซเชฃเชคเชพเชจเชพ เชฌเชพเชฐเซ€เช• เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เชฎเชพเชŸเซ‡ "--เชชเซ‚เชฐเซเชฃเชคเชพ" เชตเชฟเช•เชฒเซเชช เช‰เชฎเซ‡เชฐเซเชฏเซ‹;
  • เชกเชพเชฏเช—เซเชจเซ‹เชธเซเชŸเชฟเช• เชŸเซ‚เชฒเซเชธ เชธเซเชฐเซ‹เชค เชŸเซ‡เช•เซเชธเซเชŸเชจเชพ เช…เชตเชคเชฐเชฃเซ‹เชจเซเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เชฐเซ‡เช–เชพ เชจเช‚เชฌเชฐ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เชฎเชพเชนเชฟเชคเซ€เชจเซ‡ เชฆเซƒเชทเซเชŸเชฟเชจเซ€ เชฐเซ€เชคเซ‡ เชšเชฟเชนเซเชจเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ เช“เชชเชฐเซ‡เชจเซเชก เชชเซเชฐเช•เชพเชฐ. เชฐเซ‡เช–เชพ เชจเช‚เชฌเชฐเซ‹ เช…เชจเซ‡ เชฒเซ‡เชฌเชฒเซ‹เชจเชพ เชชเซเชฐเชฆเชฐเซเชถเชจเชจเซ‡ เชจเชฟเชทเซเช•เซเชฐเชฟเชฏ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, "-fno-diagnostics-show-line-numbers" เช…เชจเซ‡ "-fno-diagnostics-show-labels" เชตเชฟเช•เชฒเซเชชเซ‹ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡;

    GCC 9 เช•เชฎเซเชชเชพเช‡เชฒเชฐ เชธเซเชฏเซเชŸเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ

  • เชตเชฟเชธเซเชคเซƒเชค C++ เช•เซ‹เชกเชฎเชพเช‚ เชญเซ‚เชฒเซ‹เชจเซเช‚ เชจเชฟเชฆเชพเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชธเชพเชงเชจเซ‹, เชญเซ‚เชฒเซ‹เชจเชพ เช•เชพเชฐเชฃเซ‹ เช…เชจเซ‡ เชธเชฎเชธเซเชฏเชพเชฐเซ‚เชช เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‡ เชนเชพเช‡เชฒเชพเช‡เชŸ เช•เชฐเชตเชพ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€เชจเซ€ เชธเซเชงเชพเชฐเซ‡เชฒเซ€ เชตเชพเช‚เชšเชจเช•เซเชทเชฎเชคเชพ;

    GCC 9 เช•เชฎเซเชชเชพเช‡เชฒเชฐ เชธเซเชฏเซเชŸเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ

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

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

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