Ma ke ʻano he papahana noiʻi
No ka hoʻāʻo ʻana
I ka pae aʻe, ua hoʻolālā ʻia e hoʻoneʻe i nā optimizations interprocedural RTL i loko o nā kaula kaʻawale, me ka noʻonoʻo ʻana i nā ʻano o ka ʻenehana ʻenehana. Ma hope o kēlā, hoʻolālā mākou e hoʻokō i ka parallelization o intraprocedural optimizations (IPA) i hoʻopili ʻia i ke code i loko o ka hana, me ka nānā ʻole i nā kikoʻī o ke kelepona. ʻO ka loulou palena no kēia manawa ʻo ka ʻohi ʻōpala, kahi i hoʻohui i kahi laka honua e hoʻopau i nā hana ohi ʻōpala i ka wā e holo ana ma ke ʻano multi-threaded (i ka wā e hiki mai ana e hoʻololi ʻia ka ʻohi ʻōpala no ka hoʻokō ʻana i ka GCC).
No ka loiloi ʻana i nā loli i ka hana, ua hoʻomākaukau ʻia kahi papa hoʻāʻo e hōʻuluʻulu i ka faila gimple-match.c, aia ma mua o 100 tausani mau laina code a me 1700 mau hana. ʻO nā hoʻāʻo ma kahi ʻōnaehana me kahi Intel Core i5-8250U CPU me 4 kino kino a me 8 virtual (Hyperthreading) i hōʻike i ka emi ʻana o ka manawa hoʻokō o Intra Procedural GIMPLE optimizations mai 7 a 4 kekona i ka wā e holo ana i 2 mau kaula a i 3 kekona ke holo 4 nā kaula, ʻo ia hoʻi. ʻO ka piʻi ʻana o ka wikiwiki o ke kahua o ka hui e noʻonoʻo ʻia nei ua loaʻa iā 1.72 a me 2.52 mau manawa. Ua hōʻike pū ʻia nā hoʻāʻo ʻana i ka hoʻohana ʻana i nā cores virtual me Hyperthreading ʻaʻole alakaʻi i ka hoʻonui ʻana i ka hana.
Ua hōʻemi ʻia ka manawa kūkulu holoʻokoʻa ma kahi o 10%, akā e like me nā wānana, ʻo ka hoʻohālikelike ʻana i nā optimizations RTL e ʻae i ka loaʻa ʻana o nā hopena ʻike, no ka mea, ʻoi aku ka nui o kēia manawa i ka wā o ka hōʻuluʻulu ʻana. Ma hope o ka hoʻohālikelike ʻana o RTL, e hoʻemi ʻia ka nui o ka manawa hui e 1.61 mau manawa. Ma hope o kēia, hiki ke hōʻemi i ka manawa kūkulu ʻia e kekahi 5-10% ma ka hoʻohālikelike ʻana i nā optimizations IPA.
Source: opennet.ru