Poloketi e fa'aopoopo le lagolago mo le fa'atusaina o le fa'agasologa o le tu'ufa'atasiga ile GCC

O se vaega o se galuega su'esu'e GCC tutusa O galuega ua amata ona faʻaopoopoina se faʻaaliga i le GCC e faʻatagaina ai le tuʻufaʻatasiga e vaevaeina i ni filo tutusa. I le taimi nei, ina ia faʻaleleia le saoasaoa o le fausiaina i luga o le tele-core system, e faʻaaogaina e le faʻaogaina le faʻalauiloaina o faiga faʻapipiʻi tuʻufaʻatasi, o ia mea e fausia ai se faila faila eseese. O le poloketi fou o loʻo faʻataʻitaʻiina i le tuʻuina atu o le parallelization i le tulaga o le tuʻufaʻatasia, lea e ono faʻaleleia atili ai le faʻatinoga i luga o le tele-core system.

Mo suʻega saunia se lala tutusa tutusa o le GCC, lea e ofoina atu se parakalafa fou “—param=num-threads=N” e seti ai le numera o filo. I le tulaga muamua, na matou faʻatinoina le faʻaliliuina o faʻataʻitaʻiga interprocedural i filo eseese, lea e taʻua o le cyclically mo galuega taʻitasi ma e faigofie ona faʻatusalia. GIMPLE gaioiga e nafa ma meafaigaluega-tutoatasi optimizations e iloilo le fegalegaleaiga o galuega tauave ma le tasi ma le isi e tuu i filo eseese.

I le isi laasaga, o loʻo fuafua foʻi e faʻanofoina le RTL optimizations interprocedural i filo eseese, ma amanaʻia uiga o le masini faʻapipiʻi. A maeʻa lena, matou te fuafua e faʻatino le faʻatusatusaina o suʻesuʻega faʻapitoa (IPA) faʻaoga i le code i totonu o le galuega, e tusa lava po o le a le faʻamatalaga o le valaau. O le fesoʻotaʻiga faʻatapulaʻa mo le taimi nei o le lapisi lapisi, lea ua faʻaopoopoina ai se loka faʻavaomalo e faʻagata ai le faʻaogaina o lapisi aʻo tamoʻe i le tele-threaded mode (i le lumanaʻi o le a faʻapipiʻiina le lapisi lapisi mo le faʻatinoina o le GCC).

Ina ia iloilo suiga i le faʻatinoga, ua saunia se suʻega suʻega e faʻapipiʻi ai le faila gimple-match.c, lea e aofia ai le silia ma le 100 afe laina o code ma 1700 galuega. O suʻega i luga o se faiga faʻatasi ma le Intel Core i5-8250U CPU ma 4 cores faaletino ma 8 virtual (Hyperthreading) na faʻaalia ai le faʻaitiitia o le taimi o le faʻatinoina o le Intra Procedural GIMPLE optimizations mai le 7 i le 4 sekone pe a faʻagasolo 2 filo ma i le 3 sekone pe a taʻavale 4 filo, i.e. O le siʻitia o le saoasaoa o le faʻapotopotoga o loʻo iloiloina na ausia e le 1.72 ma le 2.52 taimi, i le faasologa. Na faʻaalia foʻi i suʻega o le faʻaaogaina o koluma faʻatasi ma le Hyperthreading e le taʻitaʻia ai le faʻatupulaia o le faʻatinoga.

Poloketi e fa'aopoopo le lagolago mo le fa'atusaina o le fa'agasologa o le tu'ufa'atasiga ile GCC

O le taimi atoa o le fausiaina na faʻaititia e tusa ma le 10%, ae e tusa ai ma faʻamatalaga, o le faʻatusatusaina o le RTL optimizations o le a faʻatagaina ai le ausiaina o faʻaiuga sili atu, talu ai o lenei laasaga e manaʻomia tele le taimi i le taimi o le tuʻufaʻatasia. E tusa pe a maeʻa le RTL parallelization, o le aofaʻi o taimi faʻapotopotoga o le a faʻaititia i le 1.61 taimi. A maeʻa lenei mea, o le a mafai ona faʻaitiitia le taimi fau i le isi 5-10% e ala i le faʻatusatusaina o faʻataʻitaʻiga IPA.

Poloketi e fa'aopoopo le lagolago mo le fa'atusaina o le fa'agasologa o le tu'ufa'atasiga ile GCC

puna: opennet.ru

Faaopoopo i ai se faamatalaga