Открыть список
Как стать автором
Обновить

Комментарии 9

А как продвижение с GPU и CUDA в частности?
Может кто подскажет современный фреймворк как все это увязать? да, есть например вариант просто линковать библиотеку и вызывать С функции, но это не то. Есть RustaCUDA — уже лучше, но там нужно иметь подгружать ptx файлы ядер. Скомилить сами ядра можно и nvcc, но как так сделать чтоб эти ptx "линковались" а не таскать их вместе с исполняемым файлом?

А макрос std::include_bytes чем не устраивает?


Там в RustaCUDA, кстати, есть пример "линковки" через std::include_str прямо в Readme.md, как вы его пропустили?

Да, действительно, std::include_str "вшивает" ptx код в исполняемый файл. Пропустил так как только начал разбираться с rust и подумал что это функция и работает в рантайме.

Вот к примеру, буквально вчера зарелизили: https://github.com/EmbarkStudios/rust-gpu/releases/tag/v0.3.0


Но это из разряда перспектив. Compute шейдеры они пока не умеют, как и многое другое. Если надо прямо сейчас, то есть привязки к OpenCL

А какие там планы по скорости копиляции? gcc собирается в два раза быстрее с поддержкой c, c++ и fortran, чем rustc. И это ещё с предварительно собраной llvm.


Проект уровня firefox/chromum потребует колоссальных ресурсов.

У анализа потоков данных (DFA) квадратичная метрика сложности. Так что принципиального ускорения не может случиться.
В других языках с DFA та же проблема, разве что он может применяться выборочно, а в Расте так невозможно.
gcc собирается в два раза быстрее с поддержкой c, c++ и fortran, чем rustc.

Нет?


     Tue Feb 16 19:19:43 2021 >>> dev-lang/rust-1.50.0
       merge time: 33 minutes and 44 seconds.

     Wed Feb 24 01:11:56 2021 >>> sys-devel/gcc-10.2.0-r5
       merge time: 29 minutes and 32 seconds.

Проект уровня firefox/chromum потребует колоссальных ресурсов.

Ну будет firefox компилироваться 40 минут вместо 20, что дальше? И это еще десктопное железо, а не серверное, на котором обычно собирают билды браузеров.


     Wed Feb 24 02:26:06 2021 >>> www-client/firefox-86.0
       merge time: 21 minutes and 53 seconds.

У меня gcc 57 минут, rust 1:36 + llvm 0:40
Chromium около 8 часов.


Но это но 8 летнем ноутбуке.
Возможно разница из-за размера кэшей процессора.

Твой ноутбук точно устарел. rustc + llvm собираются за час/полтора на райзене.
А вообще много параметров нужно учесть чтоб сказать кто и при каких условиях быстрее. Да и для компаний которые используют rust, или любые другие компилируемые ЯП, не особо важно скорость компиляции (например дольше на 20-40мин) при билде релизной версии.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.