Выпуск ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° Mold 3.0, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ LLVM lld

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° Mold 3.0, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² качСствС Π±ΠΎΠ»Π΅Π΅ быстрой ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ‹ GNU linker Π½Π° Linux-систСмах. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ Rui Ueyama, Π°Π²Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° LLVM lld. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Mold являСтся ΠΎΡ‡Π΅Π½ΡŒ высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ связывания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°ΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠΈ GNU gold ΠΈ LLVM lld (ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° Π² Mold выполняСтся со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, всСго Π² Π΄Π²Π° Ρ€Π°Π·Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ простого копирования Ρ„Π°ΠΉΠ»ΠΎΠ² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ cp). Код написан Π½Π° языкС Rust ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT.

УмСньшСниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡƒ позволяСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ удобство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π·Π° счёт сокращСния оТидания Π² процСссС формирования исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΈ тСстирования ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠœΠΎΡ‚ΠΈΠ²ΠΎΠΌ ΠΊ созданию Mold стало Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ нСобходимости ΠΆΠ΄Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ внСсСния измСнСния Π² ΠΊΠΎΠ΄, Π° Ρ‚Π°ΠΊΠΆΠ΅ низкая ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² Π½Π° многоядСрных систСмах ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, Π½Π΅ прибСгая ΠΏΡ€ΠΈ этом ΠΊ излишнС услоТнённым модСлям, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°.

Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈΠ· большого числа ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… компилятором ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Mold достигаСтся использованиСм Π±ΠΎΠ»Π΅Π΅ быстрых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ распараллСливаниСм ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ доступными ядрам CPU ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ эффСктивных структур Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Π² Mold Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° выполнСния интСнсивных вычислСний ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ², ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, использованиС быстрых Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ† ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ символов, сканированиС Ρ‚Π°Π±Π»ΠΈΡ† ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ ΠΈ дСдупликация ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡ‹Ρ… сСкций.

Π’Π΅Ρ‚ΠΊΠ° Mold 3.0 ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π° пСрСписываниСм ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ с C++ (C++20) Π½Π° язык Rust. Mold 3.0 ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ‹ Mold 2.42.1, послСднСго выпуска Π½Π° языкС C++, ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС Ρ€Π°Π½Π΅Π΅ доступныС ΠΎΠΏΡ†ΠΈΠΈ ΠΈ Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Rust ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Ρ‘Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² β€” Π² ситуациях, ΠΊΠΎΠ³Π΄Π° вСрсия Π½Π° Π‘++ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π»Π°ΡΡŒ ΠΈΠ·-Π·Π° обращСния ΠΊ областям памяти Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π±ΡƒΡ„Π΅Ρ€Π°, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° Rust останавливаСт Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π° этапС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π³Ρ€Π°Π½ΠΈΡ†. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Rust находится Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ с вСрсиСй Π½Π° C++.

Помимо ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Rust ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Π΅Ρ‚ΠΊΠΈ 3.0 Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ совмСстимости с GNU ld ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊ возмоТности использования Π² качСствС ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² дистрибутивах Linux. Бборочная систСма Π·Π°ΠΌΠ΅Π½Π΅Π½Π° с CMake Π½Π° Cargo, Π° систСма тСстов с ctest Π½Π° cargo test. Из зависимостСй ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° oneTBB.

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

ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры πŸ”₯ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры | ProHoster