20 августа 2026
Andrei DLinearTypes же
Они помогают обработку ресурса проверять, но не трейсить какие-нибудь статические размеры ресурсов на типах
Aleksandr VershilovА где-то есть успешные регионы, и более того они помогают от аллокаций?
Такие вопросы обычно про примение Хаскеля задают за пределами этого чатика. У нас же принцип избегать успеха ценой всего
Dima | No AI clubкак минимум в векторе тесты надо было отключать из-за того что затянули inspection-testing со сплайсами
То что в никсе вообще тесты включают когда я либу тащу это какой-то отдельный уровень хтони, непостижимый для меня
Dima | No AI clubкак минимум в векторе тесты надо было отключать из-за того что затянули inspection-testing со сплайсами
Вообще-то там TH использовался в тестах со времен абсолютно лохматых
Aleksandr VershilovНу первая часть про где посмотреть, вторая, про то, что мне казалось, что регионы вообще никак не помогают аллокациям. GC и управлению ресурсами - да
В общем случае в любом "системном" софте и языках. Подход с регионами это про изолицию аллокаций и локализацию hot path участков памяти. Хочешь GC - затребуй его явно в регионе; хочешь со статическими буферами работать - выдели пул и управляй им; хочешь симдами молотить большой буфер - выдели регион с отдельным маленьким буфером и ублажай кэш
Опять же в Хаскеле теоретически ничего не мешает так писать код, но вся экосистема построена вокруг засорения кучи или "не занимайтесь ерундой и пишите на Си". А когды ты захочешь на практике использовать FFI, то в 2026 году ты берешь недавно появившийся hs-bindgen чтобы обернуть условный dpdk, а затем идешь дебажить прослойку к LLVM в языке без поддержки симдов
Короче в нашем гетто много чего можно сделать лучше, но большинство инвестиций сейчас надо делать в разгребание компиляторного легаси и проработку (настоящих) архитектурных подходов (а не страданий с системами эффектов)
Да регионы помогают с GC, его можно убрать, но не с аллокациями per-se. Как бы сколько аллоцировал, столько и будешь.
Как бы совсем другая история.
Работать со статическими пулами и памятью никто не запрещает и вроде достаточно просто, если нативные «объекты» не использовать. Вот самые первые iteratee ровно про это и были, это какой год?
Aleksandr VershilovДа регионы помогают с GC, его можно убрать, но не с аллокациями per-se. Как бы сколько аллоцировал, столько и будешь.
Как бы совсем другая история.
Работать со статическими пулами и памятью никто не запрещает и вроде достаточно просто, если нативные «объекты» не использовать. Вот самые первые iter
Надо договориться про какие проблемы с аллокациями мы говорим. Я про то что с динамическими аллокациями в глобальном хипе фрагментируется память и страдают все возможные кэши, а со статическими регионами появляется топология памяти и предсказуемый доступ там где он важен
Если под нативными объектами понимаются рекорды, то это как раз одна из самых фрустрирующих проблем компиляторного легаси
Dima | No AI clubНадо договориться про какие проблемы с аллокациями мы говорим. Я про то что с динамическими аллокациями в глобальном хипе фрагментируется память и страдают все возможные кэши, а со статическими регионами появляется топология памяти и предсказуемый доступ там где он важен
Если под нативными объектам
У нас дефолтный гц компактирующий
Aleksandr VershilovА про то этим ли надо или эффектами заниматься - чем хотят тем и занимается каждый, это его время и деньги :)
Да я не против. Это просто очередная декларация моих убеджений, что практические проблемы архитектуры ПО эффекты не решают, а ранее перечисленные проблемы заслуживают больше внимания чем им принято уделять в сообществе