Alexander
@A64m_qb0 нету у CStringLen сторабла инстанса
Alexander
впрочем его добавить несколько проще, чем unboxed
Alexander
никто не в курсе пакета для генерации unboxed бойлерплейта на TH не завезли?
Алексей
Да. смотри зависимости math-functions
Алексей
Не помню название
A64m
вроде vector-th-unbox
Алексей
Да как-то так
Alexander
о круто
Alexander
значит самому писать не надо было
Alexander
storable лучш чем unboxed
Alexander
0.84
Alexander
на 0.24 хуже раста
Anonymous
это еще продолжается 🤔
A64m
это теперь навсегда
Alexander
уже другое проверки предположений о поведении стримов, патчи и проверка корки
Alexander
корка на 3к строк
A64m
ну по идее при индексации сторабла на одно сложение меньше чем анбокседа, так что должен быть немного побыстрее (у меня в хештаблице тоже быстрее был)
Alexander
с unboxed хуже было там инстансы все эти
Dmitry
добавлять?
Dmitry
или коментом?
Dmitry
и вообще покажи
Alexander
сейчас секунду, запушу fast-builder
Alexander
@voidlizard git@github.com:qnikst/fast-builder.git
Alexander
сейчас код скину, только перепроверю пару вещей
Alexander
так поломано
Alexander
@voidlizard забирай оттуда fast-builder
Alexander
https://paste.pound-python.org/show/FGbPJd3tQFkx8RfleAax/
Alexander
вот сам кот
Dmitry
ага
Alexander
вот кто бы мне рассказал почему если заменть foldMap на foldr то становится все плохо, я бы спасибо сказал
Alexander
и кейс можно было бы закрывать
Dmitry
по ссылке прямо хаскель. всегда так пишу
Alexander
=)))
Alexander
о, удалось пристойно с V.foldr сделать
Зигохистоморфный
вот кто бы мне рассказал почему если заменть foldMap на foldr то становится все плохо, я бы спасибо сказал
когда-то @A64m_qb0 показывал как вообще можно не юзать foldMap c всеми этими распаковками запаковками, а просто взять coerce
Alexander
эм..
Alexander
я из вектора [1,3,..n] собираю билдер CStringLen взятых из другого вектора
Alexander
куда тут coerce пихнуть?
Зигохистоморфный
ну мне кажется это все касается по большей степени newtype
Alexander
да
Alexander
о с нормальным capacity hPutBuilder круче fdWrite работает
Alexander
@voidlizard import Extra толко убрать надо
Alexander
он все равно не используется
Alexander
интересно что 0.23 в system time
Alexander
@voidlizard вот это уже неканоничный haskell
Alexander
а то vstream ему не нравится ; )
Dmitry
в такие моменты думаешь, что даже в си что-то есть
Alexander
mmap(0x424ab00000, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x424ab00000 <- это видимо какая-то аллокация?
Alexander
очень часто вижу..
Alexander
похоже haskell-ю не нравится в constant memory жить..
Alexander
так как в никсоми perf поставить?
Alexander
@voidlizard кстати а ты померял? =)
Dmitry
ну давай попробую
Dmitry
оно хоть соберется у меня?
Alexander
если соберёшь fast-builder что я дал
Alexander
то да
Alexander
я туда 2 метода добавил
Alexander
а ну и лишние импорты удалишь, там мой модуль Extra но он в этой версии не используется
Alexander
интересно нафига haskell память жрёт.. похоже на билдер
Dmitry
ох
Alexander
м?
Dmitry
его ж надо не просто собрать, а куда=то поставить еще?
Alexander
cabal install fast-builder
Dmitry
ты в стеке это собираешь?
Alexander
нет
Alexander
cabal + nix
Dmitry
фастбилдер нужен твой?
Alexander
да
Dmitry
ultimate.hs:64:22: Not in scope: ‘S.unfoldrM’ Perhaps you meant one of these: ‘S.unfoldr’ (imported from Data.Vector.Storable), ‘S.unfoldrN’ (imported from Data.Vector.Storable), ‘U.unfoldr’ (imported from Data.Vector.Unboxed)
Alexander
git clone git@github.com:qnikst/fast-builder.git
Alexander
хм..
Dmitry
у меня ghc не особо свежий вне сандбокса
Alexander
разные версии vector?
Dmitry
черт его знает
Alexander
https://hackage.haskell.org/package/vector-0.12.0.1/docs/Data-Vector-Storable.html#v:unfoldrM
Alexander
ну ладно пофиг тогда, все равно раст не обгоняем
Alexander
я еще в корку попырюсь, и у меня остался только 1.5 вопроса
Dmitry
ща запилим
Dmitry
ну учитывая что в расте все легальное