Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

[ новости /+++ | форум | теги |    ]



"Выпуск компоновщика Mold 3.0, развиваемого разработчиком LLVM lld"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск компоновщика Mold 3.0, развиваемого разработчиком LLVM lld"  +/–
Сообщение от opennews (??), 05-Окт-26, 22:25 
Опубликован выпуск компоновщика Mold 3.0, который может применяться в качестве более быстрой прозрачной замены GNU linker на Linux-системах. Проект развивает Rui Ueyama, автор компоновщика LLVM lld.  Ключевой особенностью Mold является очень высокая скорость связывания объектных файлов, заметно опережающая  компоновщики GNU gold и LLVM lld (компоновка в Mold выполняется со скоростью, всего в два раза медленнее простого копирования файлов утилитой cp). Код написан на языке Rust и распространяется под лицензией MIT...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=66406

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 05-Окт-26, 22:25   +2 +/–
lto проблемный процесс, сабж позволяет его ускорить?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2, #14, #19

2. Сообщение от Аноним (1), 05-Окт-26, 22:26   +/–
и что там с потреблением памяти, обычный лто уже привычно 10 гб на 1 процесс
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

3. Сообщение от Аноним (3), 05-Окт-26, 22:49   –4 +/–
Это очень хорошая новость!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5

4. Сообщение от Аноним (5), 05-Окт-26, 22:54   +13 +/–
Однажды на опеннете написали новость не про Раст и у админа отвалился член.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10

5. Сообщение от Аноним (5), 05-Окт-26, 22:54    Скрыто ботом-модератором+/–
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

6. Сообщение от Аноним (6), 05-Окт-26, 23:03   +/–
>>вариант на Rust останавливает работу на этапе проверки границ

Что мешало сделать проверки на C++ ?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #15, #16, #17

7. Сообщение от Аноним (6), 05-Окт-26, 23:05   –1 +/–
>>Мотивом к созданию Mold стало раздражение от необходимости ждать завершения компоновки после каждого внесения изменения в код

Надуманная проблема

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20

8. Сообщение от Bottle (?), 05-Окт-26, 23:16   +/–
Ирония проекта в том, что он сам компилироваться будет ещё медленнее.
Но, с другой стороны, лучше так, чем никак.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #21

9. Сообщение от жявамэн (ok), 05-Окт-26, 23:22   +2 +/–
Ты из тех кто пересобирает файрфокс перед каждым заходом на опеннет?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

10. Сообщение от Аноним (10), 05-Окт-26, 23:27    Скрыто ботом-модератором+/–
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

11. Сообщение от Аноним9000 (?), 05-Окт-26, 23:29   +/–
Да что же такое, снова несуществующий реальный продукт на раст!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #13

12. Сообщение от Инопланетянин (?), 05-Окт-26, 23:30    Скрыто ботом-модератором+/–
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #22

13. Сообщение от Аноним (10), 05-Окт-26, 23:35   +/–
Ты посмотри в список контрибьютеров, это нейрослоп (почти)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

14. Сообщение от Аноним (14), 05-Окт-26, 23:44   +/–
растовики только переписывают, как показала тенденция не без помощи ЫЫ, так, что вы там говорили про LTO? Видать там ускорение получено за счет выпиливания того самого LTO :)))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

15. Сообщение от GNU Overlord (ok), 05-Окт-26, 23:52   +/–
"сделать"

Собстенно, это и мешало - их делать нужно, а не просто на комплиятор повесить. Причем делать нормально, а не так, чтобы потом сегфолты летели.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

16. Сообщение от morphe (?), 06-Окт-26, 00:04   +/–
Потому что при разборе объектных файлов концепция parse, don't validate в случае плюсов невероятно сложная, поскольку zero-copy это надо следить за временем жизни кучи span/string_view, в то время как в Rust за временем жизни следит компилятор
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

17. Сообщение от Васян Айтишник (?), 06-Окт-26, 00:18   +/–
Так-то наверное можно и на Бейсике писать и проверки сделать :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

18. Сообщение от Ivan_83 (ok), 06-Окт-26, 00:20   –1 +/–
> Ветка Mold 3.0 примечательна переписыванием кодовой базы с C++ (C++20) на язык Rust.

Бесполезный компоновщик стал х10 бесполезнее.

Тем кто смотрит в его сторону: не тратьте время.
1. LTO оно не умеет.
2. без LTO линковка даже обычными линковщиками не особо то и заметна  на фоне процесса компиляции.

Возможно есть очень-очень редкие юзкейсы когда оно имеет смысл, например вы уже скомпилили нечто тяжёлое типа хрома, потом поредактили пару файлов и вам только их перекомпилить и перелинковать. Ну вот тогда оно секунд 5 сэкономит.
При обычном процессе хром всё равно компилится часы и линкуется минуты, от того что результат будет получен на 1-2 минуты раньше легче не станет.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #25, #27, #29

19. Сообщение от Ivan_83 (ok), 06-Окт-26, 00:22   +/–
Нет, там ни слова нет про LTO.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

20. Сообщение от Ivan_83 (ok), 06-Окт-26, 00:24   +/–
Ну автор холерик, не мог ждать ещё дополнительно 16 секунд после 4 часов компеляции хрома пока тот слинкуется :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #23

21. Сообщение от Ivan_83 (ok), 06-Окт-26, 00:28   +/–
Ирония в том, что этот проект вообще существует и каждый раз его здесь продают с такой помпой, как будто это чудо какое то и мастхэв.
И никто тут не читает даже readmi.md проекта и не осознаёт его полную бесмысленность.

И я не прочитал и полез эту фигню пробовать.
А потом узнал что LTO там только через плагин = подключается llvm и разницы в скорости 0.
А для случаев когда LTO не нужно - разницы особой нет, ну типа мне что 5 что 15 секунд линковки для проекта который собирался пол часа - как то пофик.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #24

22. Сообщение от Аноним (22), 06-Окт-26, 00:58   +/–
ИИшечка
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

23. Сообщение от An2 (?), 06-Окт-26, 01:13   +/–
Точно секунд, а не минут?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #28

24. Сообщение от An2 (?), 06-Окт-26, 01:14   +/–
> что 5 что 15 секунд линковки для проекта который собирался пол часа

А если туда нужно вносить изменения, одно за другим. Компиляция - 2 секунды, а линковка на порядок дольше?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #30

25. Сообщение от An2 (?), 06-Окт-26, 01:17   +/–
> типа хрома

Да, без mold поиграться с каким-то изменениями в Firefox или Chromium не реально.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #26

26. Сообщение от Ivan_83 (ok), 06-Окт-26, 02:09   +/–
Угу, целых 16 секунд (по данным бенчей молд) ждать, вместо 1,6.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

27. Сообщение от Аноним (27), 06-Окт-26, 02:10   +/–
> потом поредактили пару файлов и вам только их перекомпилить и перелинковать

Он буквально для этого и создан, гений.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #31

28. Сообщение от Ivan_83 (ok), 06-Окт-26, 02:17   +/–
Так сходите на сайт, там автор честно бенчи выложил, настолько честно что даже не включал LTO.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

29. Сообщение от SanityEclipse (ok), 06-Окт-26, 02:19   +/–
Ну да, компилируют проекты же только юзеры, а разработчики постоянно проект начистую собирают. Действительно, редкий юзкейс. Как и инкрементальная компиляция, наверное
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #32

30. Сообщение от Ivan_83 (ok), 06-Окт-26, 02:20   +/–
А юзкейс у этого какой?

Я знаю 2 воркфлоу:
1. меинтейнер/пользователь: скачал, собрал, пользуется.
2. программист: поменял-собрал-запустил тесты-поменял...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

31. Сообщение от Ivan_83 (ok), 06-Окт-26, 02:22   +/–
Так время работы обычного линковщика даже на хроме не мешается - пренебрежимо мало, а на мелких проектах и подавно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

32. Сообщение от Ivan_83 (ok), 06-Окт-26, 02:28   +/–
Вам, как разработчику, есть ли большая разница если время линковки будет не 3 секунды а 0,3 при общем времени сборки в районе 40 секунд?

Из всех бенчей что выложил автор, только TensorFlow линкуется заметно долго 9/50 секунд и только потому что там видимо крестовый нейрослоп на 9гб в один бинарник лезет.
Да и то 9 секунд для релиза не очень то заметно, вот для дебага 50 сек наверное не комфортно уже.
И это ещё хз сколько времени там занимает обход всех исходников сборочной системой и работа компилятора даже для самого маленького файла.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




XSQUARE
Inferno Solutions
Hosting by Hoster.ru
Хоcтинг: