Дар доираи лоиҳаи тадқиқотӣ
Барои санҷиш
Дар марҳилаи навбатӣ инчунин бо назардошти хусусиятҳои платформаи сахтафзор интиқол додани оптимизатсияи байнипроцессуали RTL ба риштаҳои алоҳида ба нақша гирифта шудааст. Пас аз он, мо нақша дорем, ки параллелизатсияи оптимизатсияи дохилипроцессуалӣ (IPA), ки ба код дар дохили функсия татбиқ карда мешавад, новобаста аз хусусиятҳои занг. Истиноди маҳдудкунанда дар айни замон коллектори ахлот аст, ки қулфи глобалиро илова кардааст, ки амалиёти ҷамъоварии ахлотро ҳангоми кор дар реҷаи чанд ришта ғайрифаъол мекунад (дар оянда коллектори ахлот барои иҷрои чанд риштаи GCC мутобиқ карда мешавад).
Барои арзёбии тағирот дар иҷроиш, маҷмӯи санҷишӣ омода шудааст, ки файли gimple-match.c-ро ҷамъ мекунад, ки беш аз 100 ҳазор сатри код ва 1700 функсияро дар бар мегирад. Санҷишҳо дар система бо CPU-и Intel Core i5-8250U бо 4 ядрои физикӣ ва 8 виртуалӣ (Hyperthreading) нишон доданд, ки вақти иҷрои оптимизатсияҳои дохилии GIMPLE аз 7 то 4 сония ҳангоми иҷро кардани 2 ришта ва то 3 сония ҳангоми кор 4 риштаҳо, яъне. Афзоиши суръати марҳилаи монтажи мавриди назар мутаносибан 1.72 ва 2.52 баробар ба даст омад. Санҷишҳо инчунин нишон доданд, ки истифодаи ядроҳои маҷозӣ бо Hyperthreading ба баланд шудани кор оварда намерасонад.
Вақти умумии сохтмон тақрибан 10% кам карда шуд, аммо мувофиқи пешгӯиҳо, параллелизатсияи оптимизатсияи RTL имкон медиҳад, ки натиҷаҳои назаррас ба даст оранд, зеро ин марҳила ҳангоми тартибдиҳӣ вақти хеле зиёдтарро мегирад. Тақрибан пас аз параллелизатсияи RTL, вақти умумии васлкунӣ 1.61 маротиба кам карда мешавад. Пас аз ин, тавассути параллелизатсияи оптимизатсияи IPA вақти сохтмонро боз 5-10% кам кардан мумкин аст.
Манбаъ: opennet.ru