As ûnderdiel fan in ûndersyksprojekt
Foar testen
Op it folgjende poadium is it ek pland om ynterprosedurale RTL-optimisaasjes yn aparte threaden te ferpleatsen, rekken hâldend mei de skaaimerken fan it hardwareplatfoarm. Dêrnei binne wy fan plan om parallelisaasje fan intraprosedurale optimisaasjes (IPA) út te fieren dy't tapast wurde op 'e koade yn' e funksje, nettsjinsteande de spesifikaasjes fan 'e oprop. De beheinende keppeling foar no is de garbage collector, dy't in wrâldwide slûs tafoege hat dy't garbage collection operaasjes útskeakelje wylst se rinne yn multi-threaded modus (yn 'e takomst sil de garbage collector oanpast wurde foar multi-threaded útfiering fan GCC).
Om feroarings yn prestaasjes te evaluearjen, is in testsuite taret dy't de gimple-match.c-bestân gearstalt, dy't mear as 100 tûzen rigels koade en 1700 funksjes omfettet. Tests op in systeem mei in Intel Core i5-8250U CPU mei 4 fysike kearnen en 8 firtuele (Hyperthreading) lieten in fermindering sjen yn 'e útfieringstiid fan Intra Procedural GIMPLE-optimisaasjes fan 7 nei 4 sekonden by it útfieren fan 2 threads en nei 3 sekonden by it útfieren fan 4 triedden, d.w.s. In ferheging fan 'e snelheid fan' e gearstalling poadium ûnder behanneling waard berikt troch 1.72 en 2.52 kear, respektivelik. Tests lieten ek sjen dat it brûken fan firtuele kearnen mei Hyperthreading net liedt ta ferhege prestaasjes.
De totale boutiid waard fermindere mei sawat 10%, mar neffens prognoazes sil parallelisearjen fan RTL-optimisaasjes tastean mear taastbere resultaten te berikken, om't dit stadium signifikant mear tiid nimt tidens kompilaasje. Likernôch nei RTL parallelization, de totale gearkomste tiid wurdt fermindere troch 1.61 kear. Hjirnei sil it mooglik wêze om de boutiid mei in oare 5-10% te ferminderjen troch parallelisearjen fan IPA-optimisaasjes.
Boarne: opennet.ru