පර්යේෂණ ව්යාපෘතියක කොටසක් ලෙස
පරීක්ෂා කිරීම සඳහා
මීළඟ අදියරේදී, දෘඪාංග වේදිකාවේ ලක්ෂණ සැලකිල්ලට ගනිමින්, අන්තර් ක්රියාපටිපාටි RTL ප්රශස්තිකරණයන් වෙනම නූල් වලට ගෙන යාමටද සැලසුම් කර ඇත. ඊට පසු, අපි ඇමතුමේ විශේෂතා නොසලකා ශ්රිතය තුළ ඇති කේතයට යෙදෙන අභ්යන්තර ක්රියාදාම ප්රශස්තිකරණය (IPA) සමාන්තරකරණය ක්රියාත්මක කිරීමට සැලසුම් කරමු. දැනට සීමාකාරී සබැඳිය වන්නේ කසළ එකතු කරන්නා වන අතර, එය බහු-නූල් ආකාරයෙන් ක්රියාත්මක වන විට කසළ එකතු කිරීමේ මෙහෙයුම් අක්රීය කරන ගෝලීය අගුලක් එක් කර ඇත (අනාගතයේදී කසළ එකතු කරන්නා GCC බහු-නූල් ක්රියාත්මක කිරීම සඳහා අනුවර්තනය වනු ඇත).
කාර්ය සාධනයේ වෙනස්කම් ඇගයීම සඳහා, gimple-match.c ගොනුව එකලස් කරන පරීක්ෂණ කට්ටලයක් සකස් කර ඇති අතර, කේත රේඛා 100 කට වඩා සහ කාර්යයන් 1700 ක් ඇතුළත් වේ. Intel Core i5-8250U CPU සමඟ භෞතික මධ්ය 4 ක් සහ අතථ්ය (Hyperthreading) 8 ක් සහිත පද්ධතියක් පිළිබඳ පරීක්ෂණ මඟින් නූල් 7 ක් ධාවනය කරන විට තත්පර 4 සිට 2 දක්වා සහ 3 ධාවනය වන විට තත්පර 4 දක්වා අභ්යන්තර ක්රියා පටිපාටි GIMPLE ප්රශස්තිකරණය ක්රියාත්මක කිරීමේ කාලය අඩුවීමක් පෙන්නුම් කළේය. නූල්, i.e. සලකා බලනු ලබන එකලස් කිරීමේ වේදිකාවේ වේගයේ වැඩි වීමක් පිළිවෙලින් 1.72 සහ 2.52 ගුණයකින් ලබා ගන්නා ලදී. Hyperthreading සමඟ අතථ්ය හරයන් භාවිතා කිරීමෙන් කාර්ය සාධනය වැඩි නොවන බව පරීක්ෂණ මගින් පෙන්නුම් කරන ලදී.
සමස්ත ගොඩනැගීමේ කාලය ආසන්න වශයෙන් 10% කින් අඩු වී ඇත, නමුත් අනාවැකි වලට අනුව, RTL ප්රශස්තිකරණය සමාන්තර කිරීම මඟින් වඩාත් ප්රත්යක්ෂ ප්රතිඵල ලබා ගැනීමට ඉඩ සලසයි, මන්ද මෙම අදියර සම්පාදනය කිරීමේදී සැලකිය යුතු ලෙස වැඩි කාලයක් ගත වේ. RTL සමාන්තරකරණයෙන් පසුව, සම්පූර්ණ එකලස් කිරීමේ කාලය 1.61 ගුණයකින් අඩු වේ. මෙයින් පසු, IPA ප්රශස්තිකරණය සමාන්තරකරණය කිරීමෙන් තවත් 5-10% කින් ගොඩනැගීමේ කාලය අඩු කිරීමට හැකි වනු ඇත.
මූලාශ්රය: opennet.ru