ΠŸΡŠΡ€Π²ΠΈΡΡ‚ стабилСн Ρ€Π΅Π»ΠΈΠ· Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‡ΠΈΠΊΠ° 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