GCC เจฒเจˆ เจธเฉฐเจ•เจฒเจจ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉ‡ เจธเจฎเจพเจจเจคเจพ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจจ เจฒเจˆ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ

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

เจŸเฉˆเจธเจŸ เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ GCC เจฆเฉ€ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจธเจผเจพเจ–เจพ, เจœเฉ‹ เจฅเจฐเจฟเฉฑเจกเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ โ€œโ€”param=num-threads=Nโ€ เจชเฉ‡เจธเจผ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจชเฉœเจพเจ… 'เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจฅเฉเจฐเฉˆเฉฑเจกเจพเจ‚ เจตเจฟเฉฑเจš เจ…เฉฐเจคเจฐ-เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจฒ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจคเจฌเจพเจฆเจฒเฉ‡ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจนเฉˆ, เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจนเจฐเฉ‡เจ• เจซเฉฐเจ•เจธเจผเจจ เจฒเจˆ เจšเฉฑเจ•เจฐเจตเจพเจฆเฉ€ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ-เจธเฉเจคเฉฐเจคเจฐ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ เจฒเจˆ เจœเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจœเจฟเฉฐเจชเจฒ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจœเฉ‹ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจจเจพเจฒ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจชเจฐเจธเจชเจฐ เจชเฉเจฐเจญเจพเจต เจฆเจพ เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจ•เจฐเจฆเฉ‡ เจนเจจ เจตเฉฑเจ–เจฐเฉ‡ เจฅเฉเจฐเฉˆเจกเจพเจ‚ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เฉ‡ เจ—เจ เจนเจจเฅค

เจ…เจ—เจฒเฉ‡ เจชเฉœเจพเจ… 'เจคเฉ‡, เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹เจ, เจ…เฉฐเจคเจฐ-เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจฒ RTL เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจจเฉ‚เฉฐ เจตเฉฑเจ–เจฐเฉ‡ เจฅเฉเจฐเฉˆเจกเจพเจ‚ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒ เจ•เจฐเจจ เจฆเฉ€ เจตเฉ€ เจฏเฉ‹เจœเจจเจพ เจนเฉˆเฅค เจ‰เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจธเฉ€เจ‚ เจ•เจพเจฒ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจชเจฐเจตเจพเจน เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚, เจซเฉฐเจ•เจธเจผเจจ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ•เฉ‹เจก 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ เจ‡เฉฐเจŸเจฐเจพเจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจฒ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ (IPA) เจฆเฉ‡ เจธเจฎเจพเจจเจคเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚เฅค เจนเฉเจฃ เจฒเจˆ เจธเฉ€เจฎเจฟเจค เจฒเจฟเฉฐเจ• เจ—เจพเจฐเจฌเฉ‡เจœ เจ•เฉเจฒเฉˆเจ•เจŸเจฐ เจนเฉˆ, เจœเจฟเจธ เจจเฉ‡ เจ‡เฉฑเจ• เจ—เจฒเฉ‹เจฌเจฒ เจฒเจพเจ• เจœเฉ‹เฉœเจฟเจ† เจนเฉˆ เจœเฉ‹ เจฎเจฒเจŸเฉ€-เจฅเฉเจฐเฉˆเจกเจก เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจšเฉฑเจฒเจฆเฉ‡ เจนเฉ‹เจ เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจฆเฉ€เจ†เจ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจจเฉ‚เฉฐ เจ…เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ (เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจจเฉ‚เฉฐ GCC เจฆเฉ‡ เจฎเจฒเจŸเฉ€-เจฅเจฐเจฟเฉฑเจกเจก เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ)เฅค

เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฆเจพ เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจ•เจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจŸเฉˆเจธเจŸ เจธเฉ‚เจŸ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจœเฉ‹ gimple-match.c เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจฆเฉ€เจ†เจ‚ 100 เจนเจœเจผเจพเจฐ เจคเฉ‹เจ‚ เจตเฉฑเจง เจฒเจพเจˆเจจเจพเจ‚ เจ…เจคเฉ‡ 1700 เจซเฉฐเจ•เจธเจผเจจ เจธเจผเจพเจฎเจฒ เจนเจจเฅค 5 เจญเฉŒเจคเจฟเจ• เจ•เฉ‹เจฐ เจ…เจคเฉ‡ 8250 เจตเจฐเจšเฉเจ…เจฒ (เจนเจพเจˆเจชเจฐเจฅเฉเจฐเฉˆเจกเจฟเฉฐเจ—) เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• Intel Core i4-8U CPU เจตเจพเจฒเฉ‡ เจธเจฟเจธเจŸเจฎ 'เจคเฉ‡ เจ•เฉ€เจคเฉ‡ เจ—เจ เจŸเฉˆเจธเจŸเจพเจ‚ เจจเฉ‡ 7 เจฅเฉเจฐเฉˆเจก เจšเจฒเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ 4 เจคเฉ‹เจ‚ 2 เจธเจ•เจฟเฉฐเจŸ เจคเฉฑเจ• เจ…เจคเฉ‡ 3 เจšเจฒเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ 4 เจธเจ•เจฟเฉฐเจŸ เจคเฉฑเจ• เจ‡เฉฐเจŸเจฐเจพ เจชเฉเจฐเฉ‹เจธเฉ€เจœเจผเจฐเจฒ GIMPLE เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ เจฆเฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš เจ•เจฎเฉ€ เจฆเจฟเจ–เจพเจˆ เจนเฉˆเฅค เจงเจพเจ—เฉ‡, i.e. เจตเจฟเจšเจพเจฐ เจ…เจงเฉ€เจจ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจชเฉœเจพเจ… เจฆเฉ€ เจ—เจคเฉ€ เจตเจฟเฉฑเจš เจตเจพเจงเจพ เจ•เฉเจฐเจฎเจตเจพเจฐ 1.72 เจ…เจคเฉ‡ 2.52 เจ—เฉเจฃเจพ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจŸเฉˆเจธเจŸเจพเจ‚ เจจเฉ‡ เจ‡เจน เจตเฉ€ เจฆเจฟเจ–เจพเจ‡เจ† เจนเฉˆ เจ•เจฟ เจนเจพเจˆเจชเจฐเจฅเฉเจฐเฉˆเจกเจฟเฉฐเจ— เจฆเฉ‡ เจจเจพเจฒ เจตเจฐเจšเฉเจ…เจฒ เจ•เฉ‹เจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจจเจพเจฒ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจฟเฉฑเจš เจตเจพเจงเจพ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

GCC เจฒเจˆ เจธเฉฐเจ•เจฒเจจ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉ‡ เจธเจฎเจพเจจเจคเจพ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจจ เจฒเจˆ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ

เจธเจฎเฉเฉฑเจšเจพ เจฌเจฟเจฒเจก เจŸเจพเจˆเจฎ เจฒเจ—เจญเจ— 10% เจ˜เจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจธเฉ€, เจชเจฐ เจชเฉ‚เจฐเจต-เจ…เจจเฉเจฎเจพเจจเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, RTL เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจพเจจเจคเจพ เจจเจพเจฒ เจนเฉ‹เจฐ เจ เฉ‹เจธ เจจเจคเฉ€เจœเฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฎเจฟเจฒเฉ‡เจ—เฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจชเฉœเจพเจ… เจธเฉฐเจ•เจฒเจจ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจ•เจพเจซเจผเฉ€ เจœเจผเจฟเจ†เจฆเจพ เจธเจฎเจพเจ‚ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆเฅค เจฒเจ—เจญเจ— RTL เจธเจฎเจพเจจเจคเจพ เจฆเฉ‡ เจฌเจพเจ…เจฆ, เจ•เฉเฉฑเจฒ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจธเจฎเจพเจ‚ 1.61 เจ—เฉเจฃเจพ เจ˜เฉฑเจŸ เจœเจพเจตเฉ‡เจ—เจพเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, IPA เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจ•เจฐเจ•เฉ‡ เจฌเจฟเจฒเจก เจŸเจพเจˆเจฎ เจจเฉ‚เฉฐ เจนเฉ‹เจฐ 5-10% เจคเฉฑเจ• เจ˜เจŸเจพเจ‰เจฃเจพ เจธเฉฐเจญเจต เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

GCC เจฒเจˆ เจธเฉฐเจ•เจฒเจจ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉ‡ เจธเจฎเจพเจจเจคเจพ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจจ เจฒเจˆ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ

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

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