Oleg
Видел точно реализацию FingerTree для Cord
Oleg
Вот так хаскеллисты и будут рассказывать "да пять лет назад это в расте было медленнее..."
Oleg
В то время как весь чат сидит на nightly
A64m
два года назад все FingerTree на расте сливали даже haskell-ному
сиквенсу из контейнеров, или вот прямо обобщенному фингер три?
Alexander
т.е. ты утверждаешь, что сейчас ситуация изменилась, и если я перепроверю сегодня то будет разница?
Alexander
@A64m_qb0 sequence, обобщенных тогда вообще не было
Alexander
все равно там Arc на Arc-е и все плохо
Oleg
т.е. ты утверждаешь, что сейчас ситуация изменилась, и если я перепроверю сегодня то будет разница?
Нет, я не могу утверждать, т.к. у меня нет общей картины. Но полагаю, что сегодня уже можно написать эффективнее. Делать сам я это, конечно, не буду
Alexander
я уверен, что и тогда можно было
Vladimir
Что такое фингер три
A64m
ну я не удивлюсь, если сиквенс из контейнеров вообще самая быстрая имплементация, их же даже оптимизировали не жалея сил, уверен что в большинстве языков, до оптимизации и не доходит даже, просто кричат, рвут на себе волосы и убегают
分解物質
Что такое фингер три
http://www.staff.city.ac.uk/~ross/papers/FingerTree.html
分解物質
Что такое фингер три
хештаблицы неосиляторов
Loo
http://www.staff.city.ac.uk/~ross/papers/FingerTree.html
вахахаха. открыл ссылку а мазила на русте крэшнулась
Loo
Loo
хуйня ваш руст
Alexander
да норм язык
Alexander
полущ многих же
A64m
хештаблицы неосиляторов
ну к хештаблицам это отношения не имеет, у осиляторов для этого теперь можно RBB-деревья применять
доня.
вахахаха. открыл ссылку а мазила на русте крэшнулась
а чего ты хотел от игрушечного языка? 🤔
Vladimir
вахахаха. открыл ссылку а мазила на русте крэшнулась
Спс, а есть сравнение Раст хаскель о котором речь была
Oleg
хештаблицы неосиляторов
двусвязный список переосиляторов
Alexander
+
Vladimir
Как добыть?
Oleg
Он обещал самолично проверить ещё раз и сообщить, что руст всё ещё хуже
Vladimir
Отлично
Vladimir
Можно конечно не проверять, Руст и так хуже
Alexander
я не обещал, я спросил стоит ли мне идти и проверять ещё раз
Vladimir
Стоит
Alexander
я пока сомневаюсь, что нужно, ведь тогда мне было хотя бы интересно
A64m
вы сами-то как себе представляете, чтоб язык без ГЦ был ЛУЧШЕ на иммутабельных структурах данных? На этом деревостроении и V8 какой-нибудь будет всегда раст рвать
Oleg
Кстати, если сделать фингер три слегка мутабельным
Oleg
Мне кажется, должен приобгонять
доня.
"слегка мутабельный" звучит как "слегка беременная"
A64m
не это модное направление
A64m
все эти RBB-деревья с "транзиентами" всегда, слегкамутабельность там мейнстрим уже
Oleg
Ну иногда делают промежуточную такую форму, как тразиентные коллекции в кложуре. Когда добавляются мутабельные операции и оно остаётся таким же древовидным после каждой их них, и в любой момент может продолжить как зафризенная
Alexander
@A64m_qb0 а дай ссылку на RBB-tree?
A64m
тьфу, оно RRB конечно
A64m
потому и не гуглится
Oleg
тьфу, оно RRB конечно
В скалке не зашло
A64m
https://infoscience.epfl.ch/record/169879/files/RMTrees.pdf
Oleg
Хотели использовать вместо текущих векторов, чтобы эффективно конкатить, но оно оказалось значительно медленнее во всех остальных операциях
A64m
В скалке не зашло
в скалке от них меньше толку, чем в языках где значения можно анбоксить и одним куском хранить
A64m
ну, т.е. это и в скалке костылится, но для описываемого случая не делалось вроде
Oleg
в скалке от них меньше толку, чем в языках где значения можно анбоксить и одним куском хранить
В скалке можно незаметно анбоксить примитивы, но и для них хуже
A64m
В скалке можно незаметно анбоксить примитивы, но и для них хуже
а скалковый вектор же bit-mapped vector trie вроде? Т.е. все равно родственник только попроще, без всякой это relaxed машинерии, так что они, наверное, перемудрили с RRB как это часто бывает
A64m
ну вот на таких структурах где массивы всякие по 16-32-64 элемента слегкамутабельность имеет смысл, в фингер три - нет.
A64m
тот же HAMT и в хаскеле слегкамутабельный
Oleg
ну хз, в FingerTree update random элемента требует скопировать ln n промежуточных узлов, если и Cons и Node будут поддерживать мутацию, можно норм выиграть, как мне кажется
Anonymous
@pepyakin Ингвар имеет ввиду duplication и complexity про то, что два llvm юзаются. один растовый, один фасткопмовый
Anonymous
в идеале бы юзать нативные llvm и lld и musl
asteglor
кто-то уже использовал вот эту либу ? https://ws-rs.org
Cuno
> коллбеки > не на tokio Я бы не стал
Cuno
https://github.com/cyderize/rust-websocket Наверное, вот это.
Alex
тот же HAMT и в хаскеле слегкамутабельный
интересно CHAMP в итоге где нибудь реализовали
asteglor
https://github.com/cyderize/rust-websocket Наверное, вот это.
я его первым попробовал, не смог завести
asteglor
Да и ws-rs быстрее
A64m
интересно CHAMP в итоге где нибудь реализовали
в смысле, помимо обычных поделок для пейпера? Я не видел, но особо и не искал
Alex
я видел https://github.com/usethesource/capsule
Alex
вроде даже живое
Cuno
Линк на джавакод в расточате? /report
Alex
/report
Loo
ууу зашквар зашквар
Safort
кто-то уже использовал вот эту либу ? https://ws-rs.org
Немного игрался. API проще, чем у rust-websocket, но скорости не мерял.
asteglor
Немного игрался. API проще, чем у rust-websocket, но скорости не мерял.
у меня все время выскакивает ошибка когда пытаюсь браузером приконенктится
asteglor
Encountered an error: WebSocket Protocol Error: Unable to parse WebSocket key.
Oleg
Линк на джавакод в расточате? /report
линк на единственную имплементацию упомянутого алгоритма, как я понял. Репорт откладывается до любой другой найденно реализации
Safort
Я сейчас не дома, как приду, могу скинуть свой пример.
asteglor
а, это я затупил
asteglor
)))
asteglor
все ок
Маjко
Посуны в расте есть хорошая библиотека длинной арифметики кроме num::bigint?