The OpenNET Project / Index page

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



"Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее LLVM в режиме без оптимизации"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее LLVM в режиме без оптимизации"  +/
Сообщение от opennews (??), 06-Июн-25, 15:14 
Исследователи из Мюнхенского технического университета опубликовали инструментарий TPDE и основанный на нём бэкенд компилятора для LLVM - TPDE-LLVM, обеспечивающий генерацию машинного кода для архитектур x86-64 и AArch64 на основе промежуточного представления кода LLVM-IR. При тестировании TPDE-LLVM оказался быстрее бэкенда LLVM -O0 (генератор кода без оптимизаций) в 10-20 раз при том же уровне производительности результирующего машинного кода  и увеличении размера на 10-30%. Наработки проекта опубликованы под лицензией Apache 2.0...

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

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

Оглавление

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


1. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +4 +/
Сообщение от Аноним (1), 06-Июн-25, 15:14 
Это компиляция быстрее или что даёт?
Ответить | Правка | Наверх | Cообщить модератору

3. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  –11 +/
Сообщение от Аноним (3), 06-Июн-25, 15:15 
дает итоговый файл в два раза толще, и работающий медленнее.
Ответить | Правка | Наверх | Cообщить модератору

6. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +1 +/
Сообщение от Аноним (6), 06-Июн-25, 15:41 
> при том же уровне производительности результирующего машинного кода и увеличении размера на 10-30%
Ответить | Правка | Наверх | Cообщить модератору

8. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +2 +/
Сообщение от Аноним (8), 06-Июн-25, 15:46 
> LLVM -O0 (генератор кода без оптимизаций)
Ответить | Правка | Наверх | Cообщить модератору

35. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  –3 +/
Сообщение от EuPhobos (ok), 06-Июн-25, 21:04 
> дает итоговый файл в два раза толще, и работающий медленнее.

Ого, у тебя "-7" оценка твоего коммента, это получается аж 7 человек не прочитали новость, не вникли в суть и жмакнули тебе минус.
Но ведь в новости так и написано: "примерно в 2 раза быстрее и в 2 раза меньше по размеру" - про LLVM, по сравнению с тем, что в новостях TPDE-LLVM.
Получается что TPDE-LLVM работает в 2 раза медленнее и результат кода в 2 раза больше, что анонимус выше и написал, а кто-то не смог осилить это))

..вот и приходится работать за "кэпа очевидность".

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

38. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (38), 06-Июн-25, 21:53 
Так минусы не за то что он соврал, а за то что не сказал правду.
Ответить | Правка | Наверх | Cообщить модератору

46. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (8), 07-Июн-25, 08:40 
> за то что не сказал правду.

То есть соврал.

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

49. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (49), 07-Июн-25, 11:35 
всегда удивляли люди за место "истины" говорящие "правда" :)

//ru.wikipedia.org/wiki/Правда

"""
Пра́вда (от праслав. *pravĭda) — фундаментальное понятие русской культуры, сходное с понятием «истина», но в ряде случаев отличающееся от него и даже противопоставляемое.
"""

вот откуда ноги растут.

Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

52. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  –1 +/
Сообщение от Аноним (8), 07-Июн-25, 12:54 
Во истину воскресе!
Ответить | Правка | Наверх | Cообщить модератору

55. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (49), 07-Июн-25, 14:29 
Amen
Ответить | Правка | Наверх | Cообщить модератору

2. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +1 +/
Сообщение от Аноним (3), 06-Июн-25, 15:14 
Ну то есть по простому, делают быстро, но итоговая программа работает в 2 раза медленней. И занимает в 2 раза больше места.
Вдруг кому то нужно именно такое.
Для быстрой разработки.
Ответить | Правка | Наверх | Cообщить модератору

7. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (7), 06-Июн-25, 15:44 
Проблема в том, что код без оптимизации будет работать примерно всегда. А вот с оптимизацией не всегда. И опять же левый компилятор это не тот компилятор, который нужен разработчику.
Ответить | Правка | Наверх | Cообщить модератору

9. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +8 +/
Сообщение от Аноним (9), 06-Июн-25, 15:55 
идея чтобы при разработке не ждать по часу каждый билд (а только 30 минут)
когда основная часть написана - можно уже  прогнать с оптимизациями и проверить релизный билд
Ответить | Правка | Наверх | Cообщить модератору

17. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  –2 +/
Сообщение от _ (??), 06-Июн-25, 16:52 
И это ВНЕЗАПНО!(С) - 2 разных компайлера. Всё что ты до этого прогнал на тестовом - выкидываем и начинаем отлаживать на боевом.
Смысл?!?!

Впрочем в ойте нынче смысла искать не принято...

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

19. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  –2 +/
Сообщение от Аноним (-), 06-Июн-25, 17:03 
> Смысл?!?!

Смысл в том, что оно на обоих должно работать корректно.
А шанс что будут различия не такой большой, чтобы ждать столько времени.

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

25. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (25), 06-Июн-25, 18:31 
Ну как бы есть стандарт. Не можешь писать по стандарту - вон из профессии. К сожалению многие игроделы в нулевых писали не по стандарту. Когда впоследствии исходник с лопаты открыли ради пиара ... внезапно если собрать шлангом, то исчезают ветви, исчезают проверки, причём через несколько уровней вложенности, ибо инлайнинг, в результате use after free и sigsegvы.
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

26. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (7), 06-Июн-25, 18:52 
Стандарт стандарту рознь. Вон пишешь c89, а потом оказывается, что оптимизатор тебе код интересно соптимизирует и ничего из перечисленного в K&R не работает. Про плюсы лучше не вспоминать.
Ответить | Правка | Наверх | Cообщить модератору

36. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  –1 +/
Сообщение от Аноним (36), 06-Июн-25, 21:36 
> Ну как бы есть стандарт. Не можешь писать по стандарту

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

> вон из профессии

Нейросеть итак скоро заменит всех работников "интеллектуального" труда. Благо это проще и эффективнее. А вот заменить тех, кто работает руками, типа сантехников, автомехаников или сварщиков - в обозримом будущем точно нет.

Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

39. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (38), 06-Июн-25, 22:00 
> Нейросеть итак скоро заменит всех работников "интеллектуального" труда.

"Вы походу проектов сложнее хеллоуврота не писали..."

> А вот заменить тех, кто работает руками, типа сантехников, автомехаников или сварщиков - в обозримом будущем точно нет.

А их заменят те кого заменила нейросеть.

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

44. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +1 +/
Сообщение от Аноним (44), 07-Июн-25, 02:00 
>а про С++ даже говорить не буду, насколько это печаль, особенно если это проект написанный кем-то до тебя.

Особенно если этого "кого-то" (с фамилией, именем, отчеством, адресом проживания и местом работы, а также известной мордой, которая прямо так и просится, чтобы в неё с ноги) вон из профессии надо гнать поганой метлой.

>Нейросеть итак скоро заменит всех работников "интеллектуального" труда

А кто саму нейросеть будет программириовать? Сама нейросеть? Да, она уже. Но саму нейросеть, программирующую нейросеть, которая программирует нейросети тоже кто-то должен программировать. Переходим на более высокий уровень. Я вообще почти не кодю теперь. Вместо этого сижу и объясняю нейросети как создавать промпты, инструктириующие нейросеть кодить то, что мне нужно.

Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

54. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (54), 07-Июн-25, 14:21 
У Си и С++ стандарт по крайней мере есть.
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

51. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от нах. (?), 07-Июн-25, 12:00 
> И это ВНЕЗАПНО!(С) - 2 разных компайлера.

местные специалисты вообще не понимают в чем подвох.

Впрочем, сейчас смысл может быть в том чтобы сэкономить на итерациях - скармливать выхлоп ИИ и тыкать пальцем в "некомпилицца ваще" или "тест 2+2=4 failed" по двести раз. К моменту когда оно хотя бы как-то заработает - уже можно брать настоящий компилятор и разбираться что оно там нагуанокодило и как с этим жить.

Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

53. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (8), 07-Июн-25, 12:59 
> сэкономить на итерациях - скармливать выхлоп ИИ и тыкать пальцем в "некомпилицца ваще"

ИИ сам это не может сделать? Накой тогда на него мегаватты тратяться?

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

45. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (45), 07-Июн-25, 02:26 
Интересный подход: пишем на UB-based языках код, который работает не всегда, (т.е. содержит UB), и компилируем без оптимизации.

В чем был смысол выбора Си/плюсов? Быстро не будет, оптимизацию же выключили. Почему не выбрать другой язык?

Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

29. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Bottle (?), 06-Июн-25, 19:35 
Это будет все равно быстрее питона и джаваскрипта, так что смысл есть.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

4. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +1 +/
Сообщение от Аноним (9), 06-Июн-25, 15:34 
что насчет linking??
Ответить | Правка | Наверх | Cообщить модератору

5. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее LLVM в режиме без оптимизации"  +/
Сообщение от freehck (ok), 06-Июн-25, 15:35 
Возможно, этот инструментарий имеет смысл, если нужно запускать недолго живущие маленькие приложения, распространяемые в форме LLVM-IR. Но вообще штука сильно нишевая.
Ответить | Правка | Наверх | Cообщить модератору

18. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +4 +/
Сообщение от Аноним (18), 06-Июн-25, 16:54 
Это для отладки разработки и прочего, не для релиза
Ответить | Правка | Наверх | Cообщить модератору

21. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +1 +/
Сообщение от Аноним (21), 06-Июн-25, 17:45 
Ничего не понятно. Для понимания нужно ядро Linux собрать разными компияторами и с разными оптимизациями. Без GCC никуда.
Ответить | Правка | Наверх | Cообщить модератору

24. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  –2 +/
Сообщение от Аноним (25), 06-Июн-25, 18:26 
Без оптимизации нахрен не нужно. Экономия на копейку - упущенных ускорений - на рубль. Всегда собираю с максимальными оптимизациями. Поэтому у меня горячие циклы всего лишь несколько инструкций. Я бы до такого не додумался - а LLVM z3 юзает и находит то, что человек никогда не найдёт. Да, это вычислитеильно дорого. Но не оптимизировать - ещё дороже.
Ответить | Правка | Наверх | Cообщить модератору

31. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +1 +/
Сообщение от Аноним (31), 06-Июн-25, 20:25 
> юзает и находит то, что человек никогда не найдёт

Вы таки не уточнили, что речь идёт о человеке после курсов от ютубных гуру, без профильного computer science образования (ну или просто хотя бы технического).

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

33. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (33), 06-Июн-25, 20:36 
Вы не осознаете, что у LLVM много применений помимо один раз скомпилировал - запустил много раз.

Например RPCS3 (эмулятор PS3) с помощью LLVM прекомпилирует шейдеры, и сейчас это занимает минуты на 8 ядрах. Если это будет занимать секунды, это будет совсем другой экспириенс.

Еще пример - LLVM JIT в PostgreSQL. Пока его применение для планировщика ограниченно именно задержками компиляции. С LLVM быстрее, но плата за его использование велика. Если будет невелика - использовать можно будет куда чаще.

В общем это офигенный проект для тех случаев, когд LLVM используется как динамический рекомпилятор.

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

37. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (7), 06-Июн-25, 21:36 
В нём зачем-то добавили сборку clang, теперь фпс ниже, бинари больше, а лаги сильнее. Pcsx2 теперь вообще только clang собирается по-моему и собрать отдельный квест как оказалось. Собирается только с кучей неочевидных флагов.
Ответить | Правка | Наверх | Cообщить модератору

43. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  –1 +/
Сообщение от Аноним (44), 07-Июн-25, 01:49 
>Например RPCS3 (эмулятор PS3) с помощью LLVM прекомпилирует шейдеры, и сейчас это занимает минуты на 8 ядрах. Если это будет занимать секунды, это будет совсем другой экспириенс.

Шейдеры вам нужны постоянно. Уж лучше минуты предкомпиляции и нормальный FPS, чем говняное качество но быстро скомпилировано. Но вы правы в определённом смысле: если бы -O0 от -O3 отличался на 3 десятичных порядка, то имело бы смысл сначала компилить с -O0, а в фоне запускать компиляцию на -O3, и когда готово - заменять. Но только в одном случае - в случае простоя CPU при работе. А это в случаях, когда нужно высокопроизводительное, обычно не так. Поэтому в большинстве случаев имеет смысл сразу компилить на максимуме, а юзер подождёт, потому что во многих случаях важна не столько изначальная задержка, сколько throughput, а задержку при повторном исипользовании можно новелировать, закешириовав результат. Если иархитектура заранее известна - код можно собрать тоже заранее, напр. в OpenCL есть механизм для использования предсобранных ядер.

Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

30. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +2 +/
Сообщение от Аноним (31), 06-Июн-25, 20:24 
Запустите gcc первых серсий на своих i9 и вы офигеете от скорости. Будет в миллион раз быстрее. И я даже не говорю о всяких borland turbo c++, которые будут работать со скоростью близкой к скорости света.
Ответить | Правка | Наверх | Cообщить модератору

48. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (48), 07-Июн-25, 11:01 
ну так ты и запусти. какую версию гцц с какой нужно сравнить конкретно? мне тоже интересно. бенчмарков в сети можно найти много и разных
Ответить | Правка | Наверх | Cообщить модератору

50. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от нах. (?), 07-Июн-25, 11:56 
> Запустите gcc первых серсий на своих i9 и вы офигеете от скорости. Будет в миллион раз
> быстрее.

потому что оптимизировать оно умело - примерно - никак. Нет ножек, нет варенья, вроде все логично?

Ну и к тому же непонятно зачем тебе офигенно-быстрый хеловрот, а собрать им скажем линуксное ведро (где скорость уже может иметь значение) у тебя не получится в принципе.

Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

40. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (40), 07-Июн-25, 00:15 
А что за DirectEmit на первой картинке? Т.е. уже было что-то, что работает ± так же и не нужно было ничего изобретать?..
Ответить | Правка | Наверх | Cообщить модератору

41. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от мимо проходилemail (?), 07-Июн-25, 00:54 
Если попростому, то примерно так:

Раньше был только DirectEmit.
Это кастомный бекенд, который по-сути делает тоже что описано в новости.

Недостатки DirectEmit:
- в сложности (запутанности и объеме) кода
- в существенном дублировании кода для x86_64 и AARCH64
- но с "множеством мелких ручных правок"

Теперь сделали TPDE, который выдаёт столько-же попугаев, но в три раза меньше по объему кода. При этом архитектурно-зависимого кода тоже сильно меньше (почти вдвое).

Но на деле TPDE еще круче именно по простоте/объему кода, так как на самом деле в его коде (который и так в три раза меньше DirectEmit) где-то от 1/2 до 2/3 приходиться на poilerate-подобный код приходиться на интерпретацию/семантику входящего IR-представления получаемого от LLVM.

Как-то так.

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

42. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (44), 07-Июн-25, 01:40 
Erthink, вы зачем никнейм сменили?
Ответить | Правка | Наверх | Cообщить модератору

47. "Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее..."  +/
Сообщение от Аноним (47), 07-Июн-25, 09:28 
Это все конечно круто.

Но решили бы они сначала проблемы количества циклов перезаписи.

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

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

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру