ืคืจื•ื™ืงื˜ ืœื”ื•ืกืคืช ืชืžื™ื›ื” ื‘ื”ืงื‘ืœื” ืฉืœ ืชื”ืœื™ืš ื”ื”ื™ื“ื•ืจ ืœ-GCC

ื‘ืžืกื’ืจืช ืคืจื•ื™ืงื˜ ืžื—ืงืจ ืžืงื‘ื™ืœ GCC ื”ื—ืœื” ื”ืขื‘ื•ื“ื” ืœื”ื•ืกืคืช ืชื›ื•ื ื” ืœ-GCC ื”ืžืืคืฉืจืช ืœื—ืœืง ืืช ืชื”ืœื™ืš ื”ื”ื™ื“ื•ืจ ืœืžืกืคืจ ืฉืจืฉื•ืจื™ื ืžืงื‘ื™ืœื™ื. ื ื›ื•ืŸ ืœืขื›ืฉื™ื•, ื›ื“ื™ ืœืฉืคืจ ืืช ืžื”ื™ืจื•ืช ื”ื‘ื ื™ื™ื” ื‘ืžืขืจื›ื•ืช ืžืจื•ื‘ื•ืช ืœื™ื‘ื•ืช, ื›ืœื™ ื”ืฉื™ืจื•ืช make ืžืฉืชืžืฉ ื‘ื”ืฉืงื” ืฉืœ ืชื”ืœื™ื›ื™ ืžื”ื“ืจ ื ืคืจื“ื™ื, ืฉื›ืœ ืื—ื“ ืžื”ื ื‘ื•ื ื” ืงื•ื‘ืฅ ืงื•ื“ ื ืคืจื“. ื”ืคืจื•ื™ืงื˜ ื”ื—ื“ืฉ ืžืชื ืกื” ื‘ืžืชืŸ ืžืงื‘ื™ืœื•ืช ื‘ืจืžืช ื”ืžื”ื“ืจ, ืžื” ืฉืขืฉื•ื™ ืœืฉืคืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื ื‘ืžืขืจื›ื•ืช ืžืจื•ื‘ื•ืช ืœื™ื‘ื•ืช.

ืœื‘ื“ื™ืงื” ืžื•ึผื›ึธืŸ ืขื ืฃ ืžืงื‘ื™ืœ ื ืคืจื“ ืฉืœ GCC, ื”ืžืฆื™ืข ืคืจืžื˜ืจ ื—ื“ืฉ "-param=num-threads=N" ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืืช ืžืกืคืจ ื”ืฉืจืฉื•ืจื™ื. ื‘ืฉืœื‘ ื”ืจืืฉื•ื ื™, ื™ื™ืฉืžื ื• ืืช ื”ืขื‘ืจืช ื”ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ื”ื‘ื™ืŸ-ืคืจื•ืฆื“ื•ืจืœื™ื•ืช ืœ-threads ื ืคืจื“ื™ื, ื”ื ืงืจืื™ื ื‘ืื•ืคืŸ ืžื—ื–ื•ืจื™ ืขื‘ื•ืจ ื›ืœ ืคื•ื ืงืฆื™ื” ื•ื ื™ืชืŸ ืœื”ืงื‘ื™ืœ ืื•ืชื ื‘ืงืœื•ืช. ืคืขื•ืœื•ืช GIMPLE ื”ืื—ืจืื™ื•ืช ืขืœ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ื‘ืœืชื™ ืชืœื•ื™ื•ืช ื‘ื—ื•ืžืจื” ืฉืžืขืจื™ื›ื•ืช ืืช ื”ืื™ื ื˜ืจืืงืฆื™ื” ืฉืœ ืคื•ื ืงืฆื™ื•ืช ื–ื• ืขื ื–ื•, ืžืžื•ืงืžื•ืช ื‘ืฉืจืฉื•ืจื™ื ื ืคืจื“ื™ื.

ื‘ืฉืœื‘ ื”ื‘ื, ืžืชื•ื›ื ืŸ ื’ื ืœื”ืขื‘ื™ืจ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช RTL ื‘ื™ืŸ-ืคืจื•ืฆื“ื•ืจื•ืช ืœ-threads ื ืคืจื“ื™ื, ืชื•ืš ื”ืชื—ืฉื‘ื•ืช ื‘ืžืืคื™ื™ื ื™ื ืฉืœ ืคืœื˜ืคื•ืจืžืช ื”ื—ื•ืžืจื”. ืœืื—ืจ ืžื›ืŸ, ืื ื• ืžืชื›ื ื ื™ื ืœื™ื™ืฉื ืžืงื‘ื™ืœื” ืฉืœ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ืชื•ืš ืคืจื•ืฆื“ื•ืจืœื™ื•ืช (IPA) ื”ืžื™ื•ืฉืžื•ืช ืขืœ ื”ืงื•ื“ ื‘ืชื•ืš ื”ืคื•ื ืงืฆื™ื”, ืœืœื ืงืฉืจ ืœืคืจื˜ื™ ื”ืฉื™ื—ื”. ื”ื—ื•ืœื™ื” ื”ืžื’ื‘ื™ืœื” ืœืขืช ืขืชื” ื”ื™ื ืืกืคืŸ ื”ืืฉืคื”, ืฉื”ื•ืกื™ืคื” ืžื ืขื•ืœ ืขื•ืœืžื™ ืฉืžื ื˜ืจืœ ืืช ืคืขื•ืœื•ืช ืื™ืกื•ืฃ ื”ืืฉืคื” ืชื•ืš ื›ื“ื™ ืจื™ืฆื” ื‘ืžืฆื‘ ืจื™ื‘ื•ื™ ื”ืœื™ื›ื™ (ื‘ืขืชื™ื“ ืื•ืกืฃ ื”ืืฉืคื” ื™ื•ืชืื ืœื‘ื™ืฆื•ืข ืจื‘ ื”ืœื™ื›ื™ ืฉืœ GCC).

ื›ื“ื™ ืœื”ืขืจื™ืš ืฉื™ื ื•ื™ื™ื ื‘ื‘ื™ืฆื•ืขื™ื, ื”ื•ื›ื ื” ื—ื‘ื™ืœืช ื‘ื“ื™ืงื” ืฉืžืจื›ื™ื‘ื” ืืช ื”ืงื•ื‘ืฅ gimple-match.c, ื”ื›ื•ืœืœ ื™ื•ืชืจ ืž-100 ืืœืฃ ืฉื•ืจื•ืช ืงื•ื“ ื•-1700 ืคื•ื ืงืฆื™ื•ืช. ื‘ื“ื™ืงื•ืช ืขืœ ืžืขืจื›ืช ืขื ืžืขื‘ื“ Intel Core i5-8250U ืขื 4 ืœื™ื‘ื•ืช ืคื™ื–ื™ื•ืช ื•-8 ื•ื™ืจื˜ื•ืืœื™ื•ืช (Hyperthreading) ื”ืจืื• ื™ืจื™ื“ื” ื‘ื–ืžืŸ ื”ื‘ื™ืฆื•ืข ืฉืœ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช Intra Procedural GIMPLE ืž-7 ืœ-4 ืฉื ื™ื•ืช ื‘ื”ืคืขืœืช 2 ืฉืจืฉื•ืจื™ื ื•ืœ-3 ืฉื ื™ื•ืช ื‘ื”ืคืขืœืช 4. ื—ื•ื˜ื™ื, ื›ืœื•ืžืจ. ืขืœื™ื™ื” ื‘ืžื”ื™ืจื•ืช ืฉืœ ืฉืœื‘ ื”ื”ืจื›ื‘ื” ื”ื ื“ื•ืŸ ื”ื•ืฉื’ื” ืคื™ 1.72 ื•-2.52, ื‘ื”ืชืืžื”. ื‘ื“ื™ืงื•ืช ื”ืจืื• ื’ื ืฉืฉื™ืžื•ืฉ ื‘ืœื™ื‘ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืขื Hyperthreading ืื™ื ื• ืžื•ื‘ื™ืœ ืœื‘ื™ืฆื•ืขื™ื ืžื•ื’ื‘ืจื™ื.

ืคืจื•ื™ืงื˜ ืœื”ื•ืกืคืช ืชืžื™ื›ื” ื‘ื”ืงื‘ืœื” ืฉืœ ืชื”ืœื™ืš ื”ื”ื™ื“ื•ืจ ืœ-GCC

ื–ืžืŸ ื”ื‘ื ื™ื™ื” ื”ื›ื•ืœืœ ื”ืฆื˜ืžืฆื ื‘ื›-10%, ืืš ืขืœ ืคื™ ื”ืชื—ื–ื™ื•ืช, ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช RTL ืžืงื‘ื™ืœื•ืช ื™ืืคืฉืจื• ื”ืฉื’ืช ืชื•ืฆืื•ืช ืžื•ื—ืฉื™ื•ืช ื™ื•ืชืจ, ืฉื›ืŸ ืฉืœื‘ ื–ื” ืœื•ืงื— ื”ืจื‘ื” ื™ื•ืชืจ ื–ืžืŸ ื‘ืžื”ืœืš ื”ื”ื™ื“ื•ืจ. ื‘ืขืจืš ืœืื—ืจ ื”ืงื‘ื™ืœื” ืฉืœ RTL, ื–ืžืŸ ื”ื”ืจื›ื‘ื” ื”ื›ื•ืœืœ ื™ืงื˜ืŸ ืคื™ 1.61. ืœืื—ืจ ืžื›ืŸ, ื ื™ืชืŸ ื™ื”ื™ื” ืœื”ืคื—ื™ืช ืืช ื–ืžืŸ ื”ื‘ื ื™ื™ื” ื‘-5-10% ื ื•ืกืคื™ื ืขืœ ื™ื“ื™ ืžืงื‘ื™ืœื” ืฉืœ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช IPA.

ืคืจื•ื™ืงื˜ ืœื”ื•ืกืคืช ืชืžื™ื›ื” ื‘ื”ืงื‘ืœื” ืฉืœ ืชื”ืœื™ืš ื”ื”ื™ื“ื•ืจ ืœ-GCC

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”