ΠŸΡŠΡ€Π²ΠΈΡΡ‚ стабилСн Ρ€Π΅Π»ΠΈΠ· Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‡ΠΈΠΊΠ° Mold, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° LLVM lld

Π ΡƒΠΈ Уэяма, Π°Π²Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° LLVM lld ΠΈ компилятора chibicc, прСдстави ΠΏΡŠΡ€Π²ΠΈΡ стабилСн Ρ€Π΅Π»ΠΈΠ· Π½Π° новия високопроизводитСлСн ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ Mold, ΠΊΠΎΠΉΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΡ€Π΅Π²ΡŠΠ·Ρ…ΠΎΠΆΠ΄Π° ΠΏΠΎ скорост ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² сравнСниС със ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‡ΠΈΡ‚Π΅ GNU gold ΠΈ LLVM lld. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Π΅ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ Π·Π° Π³ΠΎΡ‚ΠΎΠ² Π·Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ внСдрСния ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π·Π° ΠΈ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Π° замяна Π½Π° GNU linker Π² Linux систСми. Π’ ΠΏΠ»Π°Π½ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° слСдващия Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½ Ρ€Π΅Π»ΠΈΠ· сС отбСлязва Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° macOS, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΠΎ адаптацията Π½Π° Mold Π·Π° Windows.

Mold Π΅ написан Π½Π° Π΅Π·ΠΈΠΊΠ° C++ (C++20) ΠΈ сС разпространява ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·Π° AGPLv3, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с GPLv3, Π½ΠΎ Π½Π΅ ΠΈ с GPLv2, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ изисква Ρ€Π°Π·ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ услуги. Вакъв ΠΈΠ·Π±ΠΎΡ€ Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ с ΠΆΠ΅Π»Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° финансиранС Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° β€” Π°Π²Ρ‚ΠΎΡ€ΡŠΡ‚ Π΅ Π³ΠΎΡ‚ΠΎΠ² Π΄Π° ΠΏΡ€ΠΎΠ΄Π°Π΄Π΅ ΠΏΡ€Π°Π²Π°Ρ‚Π° Π½Π° ΠΊΠΎΠ΄Π° Π·Π° ΠΏΡ€Π΅Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€Π°Π½Π΅ ΠΏΠΎΠ΄ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅Π»Π½Π° лицСнзия, ΠΊΠ°Ρ‚ΠΎ MIT, ΠΈΠ»ΠΈ Π΄Π° прСдостави ΠΎΡ‚Π΄Π΅Π»Π½Π° Ρ‚ΡŠΡ€Π³ΠΎΠ²ΡΠΊΠ° лицСнзия Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ‚ AGPL.

Mold ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° всички Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° GNU linker ΠΈ сС ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π° с ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ висока производитСлност β€” ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° със скорост, която Π΅ само Π΄Π²Π° ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±Π°Π²Π½Π° ΠΎΡ‚ простото ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° cp. НапримСр, ΠΏΡ€ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Chrome 96 (с Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΠΊΠΎΠ΄Π° 1.89 Π“Π‘) Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с debuginfo Π½Π° 8-ядрСн ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ GNU gold, ΠΎΡ‚Π½Π΅ΠΌΠ° 53 сСкунди, LLVM lld β€” 11.7 сСкунди, Π° Mold само 2.2 сСкунди (26 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΎΡ‚ GNU gold). ΠŸΡ€ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Clang 13 (3.18 Π“Π‘) Π² GNU gold са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ 64 сСкунди, Π² LLVM lld β€” 5.8 сСкунди, Π° Π² Mold β€” 2.9 сСкунди. ΠŸΡ€ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Firefox 89 (1.64 Π“Π‘) Π² GNU gold са Π½ΡƒΠΆΠ½ΠΈ 32.9 сСкунди, Π² LLVM lld β€” 6.8 сСкунди, Π° Π² Mold β€” 1.4 сСкунди.

ΠŸΡŠΡ€Π²ΠΈΡΡ‚ стабилСн Ρ€Π΅Π»ΠΈΠ· Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‡ΠΈΠΊΠ° Mold, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° LLVM lld

Π‘ΡŠΠΊΡ€Π°Ρ‰Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ позволява Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ повишаванС Π½Π° удобството ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° намаляванС Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ‡Π°ΠΊΠ°Π½Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ тСстванС Π½Π° измСнСния. ΠœΠΎΡ‚ΠΈΠ²ΡŠΡ‚ Π·Π° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Mold бСшС Π΄Ρ€Π°Π·Π½Π΅Π½Π΅Ρ‚ΠΎ ΠΎΡ‚ нСобходимостта Π΄Π° сС Ρ‡Π°ΠΊΠ° Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ слСд всяка промяна Π² ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ниската СфСктивност Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‡ΠΈΡ†ΠΈ Π½Π° многоядрСни систСми ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π΄Π° сС ΠΎΠΏΠΈΡ‚Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ½ΠΎ Π½ΠΎΠ²Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ, Π±Π΅Π· Π΄Π° сС прибягва Π΄ΠΎ ΠΏΡ€Π΅ΠΊΠ°Π»Π΅Π½ΠΎ слоТни ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎΡ‚ΠΎ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅.

Високата производитСлност Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°Ρ‚Π° Π½Π° изпълнимия Ρ„Π°ΠΉΠ» ΠΎΡ‚ голям Π±Ρ€ΠΎΠΉ ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Π² Mold, сС достига Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ядра Π½Π° CPU ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΈ структури ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ. НапримСр, Π² Mold Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΠ²Π½ΠΈ изчислСния ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ с ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π±ΡŠΡ€Π·ΠΈ Ρ…Π΅Ρˆ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° символи, сканиранС Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ с прСмСствания Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈ дСдубликация Π½Π° повтарящи сС Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ сСкции Π·Π° обСдиняванС.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster