169 похожих чатов

Https://T.Me/Opennet_ru/10338 Интересно, в какой степени релизы llvm влияют на основывающиеся на

нём яп-ы? Требуется ли какое-то внимание к ним от мейнтейнеров или всё заканчивается на генерации IR компилятором? Совсем не понимаю эту кухню...

12 ответов

21 просмотр

на оптимизации машинного кода точно влияет

https://www.phoronix.com/review/gcc-clang-eoy2023

Roman Samarev
на оптимизации машинного кода точно влияет

У Julia LLVM отстаёт максимум на две версии. Но, учитывая, что основная часть LLVM это в основном про оптимизацию компиляторов языков, а не про IR, который используется в Julia, то получается, что все эти новые версии LLVM это про новые аппаратные платформы, а не про новые оптимизации IR. И да, есть ~180 файлов на C/C++, которые компилит LLVM. Но странно ожидать ускорения, например на GC, где всё на условных операторах, или ускорения Array, где только структуры. Как показывает практика, новые LLVM не дают заметного ускорения, чего не скажешь об новых версиях Julia. Сейчас v1.11-alpha, обещает с новым менеджером памяти Array существенное ускорение в DataStructures, во всяких Dict's.

Denis
У Julia LLVM отстаёт максимум на две версии. Но, у...

А есть инструмент взять код икс и запустить на н последних версиях языка?

Serg Gini
А есть инструмент взять код икс и запустить на н п...

Формально есть CI github инструмент, который работает и для пакетов, но это не для скриптиков в домашней папочке.

Serg Gini
А есть инструмент взять код икс и запустить на н п...

Но если честно, то все эти githubы сложны в настройке, поэтому я держу все актуальные версии julia. И, частенько проверяю на своих проектах, запуская `$HOME/tmp/julia/1.XY/julia mine-some-project.jl` в скрипте по версиям Julia, чтобы посмотреть выигрыш новой версии. И да, компилить актуальную версию совсем не сложно, по крайней мере на линукс.

Denis
Но если честно, то все эти githubы сложны в настро...

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

Serg Gini
Наверное можно docker накидать с набором разных ве...

К сожалению, Julia в Docker занимает слишком много места, чтобы быть актуальной. Точнее это будет обычный Ubuntu, где в $HOME будет несколько гигабайт локальных данных. Этим недавно @vfonov занимался с целью минимизировать образ для возможности лёгкой загрузки всем Julia.

Denis
К сожалению, Julia в Docker занимает слишком много...

да, без чёрной магии там не обошлось. Вот, кому интересно: https://github.com/vfonov/minc_clearswi_app Docker image занимает 4.45GB

Vladimir F
да, без чёрной магии там не обошлось. Вот, кому и...

разделить бы её на часть сборки и часть выполнения

Roman Samarev
разделить бы её на часть сборки и часть выполнения

а как узнать, какой она блоб захочит во время выполнения ?

Vladimir F
а как узнать, какой она блоб захочит во время выпо...

и, кстати, на всякий случай, https://github.com/docopt/DocOpt.jl

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет. Я верно понимаю, что в определении класса Монад m — зафиксирован (к тому же поскольку это моноид в категории эндофункторов). Т.е. используя байнд я не могу перемещать...
Arseny
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта