Salaku bagian tina proyék panalungtikan
Pikeun tés
Dina tahap salajengna, éta ogé rencanana mindahkeun optimizations RTL interprocedural kana threads misah, nyokot kana akun ciri tina platform hardware. Sanggeus éta, urang rencanana pikeun nerapkeun parallelization of optimizations intraprocedural (IPA) dilarapkeun ka kode di jero fungsi, paduli spésifik tina panggero. Link ngawatesan pikeun ayeuna teh collector sampah, nu geus ditambahkeun konci global nu disables operasi ngumpulkeun sampah bari ngajalankeun dina modeu multi-threaded (dina mangsa nu bakal datang kolektor sampah bakal diadaptasi pikeun palaksanaan multi-threaded of GCC).
Pikeun evaluate parobahan kinerja, geus disiapkeun test suite nu assembles file gimple-match.c, nu ngawengku leuwih ti 100 sarébu garis kode jeung 1700 fungsi. Tés dina sistem nganggo CPU Intel Core i5-8250U sareng 4 inti fisik sareng 8 virtual (Hyperthreading) nunjukkeun panurunan dina waktos palaksanaan optimasi GIMPLE Intra Procedural tina 7 dugi ka 4 detik nalika ngajalankeun 2 benang sareng ka 3 detik nalika ngajalankeun 4. benang, i.e. Paningkatan dina kagancangan tahap assembly anu ditalungtik dihontal ku 1.72 sareng 2.52 kali masing-masing. Tés ogé nunjukkeun yén ngagunakeun inti virtual sareng Hyperthreading henteu ngakibatkeun paningkatan kinerja.
Waktu ngawangun sakabéhna dikirangan ku kira-kira 10%, tapi numutkeun ramalan, parallelizing optimizations RTL bakal ngamungkinkeun pikeun ngahontal hasil anu langkung nyata, sabab tahap ieu peryogi langkung seueur waktos salami kompilasi. Kira-kira sanggeus parallelization RTL, total waktu assembly bakal ngurangan ku 1.61 kali. Saatos ieu, éta bakal tiasa ngirangan waktos ngawangun ku 5-10% deui ku parallelizing optimizations IPA.
sumber: opennet.ru