Tsayayyen sakin farko na Maginin Mold wanda LLVM ld ya haɓaka

Rui Ueyama, marubucin LLVM ld linker kuma mai tarawa chibic, ya gabatar da ingantaccen sakin farko na sabon babban mai haɗa Mold, wanda ke gaban masu haɗin gwal na GNU da LLVM ld dangane da saurin haɗin fayil ɗin abu. Ana ɗaukar aikin a shirye don ƙaddamar da samarwa kuma ana iya amfani da shi azaman sauyawa mai sauri ga mai haɗin GNU akan tsarin Linux. Shirye-shiryen babban fitowar na gaba sun haɗa da kawo goyan baya ga dandamalin macOS zuwa shirye-shiryen, bayan haka aikin zai fara daidaita Mold don Windows.

An rubuta Mold a cikin C ++ (C++20) kuma an rarraba a ƙarƙashin lasisin AGPLv3, wanda ke da alaƙa da GPLv3 amma bai dace da GPLv2 ba, saboda yana buƙatar canje-canje don buɗewa yayin haɓaka ayyukan cibiyar sadarwa. Wannan zaɓin ya faru ne saboda sha'awar samun tallafin ci gaba - marubucin yana shirye ya siyar da haƙƙoƙin lambar don sake ba da izini a ƙarƙashin lasisin izini, kamar MIT, ko ba da lasisin kasuwanci daban ga waɗanda ba su gamsu da AGPL ba.

Mold yana goyan bayan duk fasalulluka na mai haɗin GNU kuma yana da sauri sosai, yana haɗawa da rabin saurin kawai kwafin fayiloli tare da cp. Misali, lokacin gina Chrome 96 (girman lambar 1.89 GB), yana ɗaukar daƙiƙa 8 don gina c debuginfo executables akan kwamfuta mai mahimmanci ta amfani da GNU zinariya, daƙiƙa 53 don LLVM ld, kuma kawai 11.7 seconds don Mold (sau 2.2 sauri fiye da GNU zinariya). Lokacin haɗa Clang 26 (13 GB), GNU zinariya yana ɗaukar daƙiƙa 3.18, LLVM ld yana ɗaukar daƙiƙa 64, kuma Mold yana ɗaukar daƙiƙa 5.8. Lokacin haɗa Firefox 2.9 (89 GB), GNU zinariya yana ɗaukar daƙiƙa 1.64, LLVM ld yana ɗaukar daƙiƙa 32.9, kuma Mold yana ɗaukar daƙiƙa 6.8.

Tsayayyen sakin farko na Maginin Mold wanda LLVM ld ya haɓaka

Rage lokacin haɗin gwiwa zai iya inganta haɓakar amfani da haɓaka manyan ayyuka ta hanyar rage jira a cikin aiwatar da samar da fayilolin da za a iya aiwatarwa yayin gyarawa da sauye-sauyen gwaji. Mold ya motsa shi ta hanyar bacin rai na jira don haɗawa don kammalawa bayan kowane canji zuwa lambar, da kuma rashin aikin da aka yi na masu haɗin gwiwar da ke kan tsarin multi-core, da kuma sha'awar gwada tsarin haɗin gine-ginen daban-daban ba tare da yin amfani da su ba. samfura masu rikitarwa, kamar haɓaka haɓakawa.

Babban aikin haɗa fayil ɗin aiwatarwa daga ɗimbin fayilolin abu wanda mai tarawa a cikin Mold ya tanadar ana samun su ta hanyar amfani da algorithms masu sauri, daidaita ayyukan aiki tsakanin abubuwan da ke akwai na CPU, da amfani da ingantaccen tsarin bayanai. Misali, Mold yana aiwatar da dabarar aiwatar da ƙididdige ƙididdiga lokaci guda tare da kwafin fayiloli, prefetching abu fayiloli zuwa ƙwaƙwalwar ajiya, ta amfani da tebur zanta da sauri lokacin warware haruffa, bincika tebur na ƙaura a cikin wani zaren daban, da cire sassan da aka haɗa da maimaita cikin fayiloli daban-daban.

source: budenet.ru

Add a comment