Alexander
tokio-retry заведётся с tokio-core?
Alexander
Опять: с смотришь в git - одно, смотришь в доку - они на tokio-core
Loo
Переходи на tokio
/s/tokio/голанг
Anonymous
Переходи на tokio
Переходи на голанг
kalloc
го медленее
պլհկ
Ну а кто сказал что ему перформанс нужен
Alexander
го медленее
Чё-то сомневаюсь. Я тут Haskell обогнать не могу, несмотря на то что уже и TCE руками сделал, и структуру передаю по значению и разрушаю в процессе работы, и вообще...
Alexander
При том, что в Haskell unpack ещё не использовал...
kalloc
на синтетике видно)
Alexander
А что за задача?
Extended Krivine machine - лямбда-термы вычисляю.
Alexander
на синтетике видно)
На синтетике-то как раз обгоняет! 😃
Alexander
Исхлдники на Github, если кому интересно...
պլհկ
Хускель
Alexander
Го обгоняет?
Чё-то я запутался, кто кого должен обгонять... 😊
kalloc
)))
kalloc
Rust > Haskell > Go
Alexander
Rust > Haskell > Go
В среднем по больнице я бы ожидал "Rust > Go > Haskell".
Слава
А Ява быстрее всех окажется в итоге
Alexander
Но в конкретных случаях можно встретить любые сочетания.
Alexander
А Ява быстрее всех окажется в итоге
Особенно, если время прогрева не считать. 😉
Alexander
Особенно, если время прогрева не считать. 😉
Точнее, если прогрев не считать, то 100% быстрее всех окажется! 😂
Слава
То есть, при длительной работе, Ява будет производительнее
Слава
Я всё пытаюсь подобрать подходящий провокационный стикер, и не могу его найти.
Слава
Ява - жава - жаба - лягушонок Пепе - и как символ скорости, Пепе верхом на ракете-носителе. Но нет такого стикера.
red75prime
И не забывать перезапускать процесс как время GC делать подходит. Бесконечный поток Пепев на ракетах со взрывом в конце.
Ignat
ну да, где ты в го видел ленивые связные списки
Aleksey
Джава, как ни странно, при определенных условиях, может по скорости обогнать любой другой софт, написаный на любом другом языке. Однако и запорожец может разогнаться до 200 км в час, если спустить его с горы Арарат. ЕВПОЧЯ.
Слава
го быстрее хаскеля? лол
Типичный говнокод на го обгонит типичный говнокод на х-е
Alexander
го быстрее хаскеля? лол
А почему нет? "В среднем" - меньше боксинга, меньше indirection, быстрее GC...
Roma
https://making.pusher.com/golangs-real-time-gc-in-theory-and-practice/ вот как раз же истори про миграцию с хаскеля на го, где го соснул
Alexander
откуда в го быстрее гц то?
Google нанял самых топовых специалистов по GC и они его невероятно оптимизировали. Действительно state-of-the-art работа.
Ignat
чёт в интернетах их работу характеризовали как бессмысленный дроч на время отклика
red75prime
Aleksey
https://making.pusher.com/golangs-real-time-gc-in-theory-and-practice/ вот как раз же истори про миграцию с хаскеля на го, где го соснул
Вот у всех таких историй есть недостаток, сложно понять, где историк косчнул, а где проблемы языка. Повторить сложно, статистики не наберешь, так, потрепаться за пивом и все
Roma
95% говорящих о gc ни разу в жизни не сталкивались с проблемами, идущими от gc
на аллоцируют сначала кучи говен, а потом гц виноват
Roma
и проверить, и повторить
Слава
https://making.pusher.com/golangs-real-time-gc-in-theory-and-practice/ вот как раз же истори про миграцию с хаскеля на го, где го соснул
Где-то thesz писал, что типичный размер стека для "треда" на хаскеле - какие-то сотни байт, даже не килобайт. Стало быть, у хаскеля memory footprint ниже чем у го, у которого на корутину уходит несколько КБ, и всё может влезть в l3 cache. Только вот такое - не типичный говнокод.
Alexander
https://blog.plan99.net/modern-garbage-collection-911ef4f8bd8e вот поновее стейт
Обе статьи датированы декабрём 2016. 😊
red75prime
При том, что в Haskell unpack ещё не использовал...
Судя по примеру с Cons основное время работы уходит на выделения/освбождения памяти, ну ни низкая локальность данных из-за боксинга.
Alexander
Надеялся, что Rust позволит слегка сэкономить, но он вообще в первую очередь стек вычерпывает. Термы такого размера как в Haskell вообще посчитать нельзя.
Alexander
Но как в Haskell кучу памяти сэкономить я придумал, а что в Rust со стеком делать - нет. 😞
Слава
а остальные миллионы погроммистов?
А остальные пишут на языках с gc. Вроде того же питона и проч.
Cat
red75prime
Но как в Haskell кучу памяти сэкономить я придумал, а что в Rust со стеком делать - нет. 😞
На кандидатскию наверно не потянет, но на дипломную работу должно.
Alexander
ulimit -s unlimited? %)
Вот это не пробовал! Спасибо. 😊
red75prime
Ну и хаскелль уже 28 лет оптимизируют
Cat
Я там символ % забыл
без него правдоподобнее /sarcasm /jerk /leave
Alexander
Ну и хаскелль уже 28 лет оптимизируют
Угу, вот ещё линейные типы завезут - от Rust мокрого места не останется... 😃
Слава
Угу, вот ещё линейные типы завезут - от Rust мокрого места не останется... 😃
Не. Для хаскеля нужно нормальное ide и система пакетов и сборки. Тогда можно будет просто писать код.
Alexander
ulimit -s unlimited? %)
$ ulimit -s unlimited bash: ulimit: stack size: cannot modify limit: Operation not permitted 😞
Alexander
sudo?
Чё-то тоже не помог. Но он на любой слишком большой лимит так ругается.
Alexander
Видать, ядро надо пересобирать или типа того...
Roma
и стак вроде ничо, и кабал перестал быть уёбищем (по рассказам, впрочем, вот по этим из недавнего https://lexi-lambda.github.io/blog/2018/02/10/an-opinionated-guide-to-haskell-in-2018/ )
Слава
а чо с cabal и stack не то?
Их создатели чегой-то пересрались
Roma
Обе статьи датированы декабрём 2016. 😊
ага, чот пропиздоглазил; но вторая по мотивам первой, так что всё равно поновее!
Roma
А ещё есть Nix...
ну никс универсальный, хотя хаскелисты вроде любят (вон и в статье выше автор тоже подрачивает)
Roma
я никс использовал для деплоя всяких говн, было норм, но тоже повозиться пришлось сначала
Слава
И под винду у них традиционно всё работает кое-как.
Alexander
И под винду у них традиционно всё работает кое-как.
Да кроме MS и Java под винду всё работает кое-как. Даже C++ как-то так...
Слава
Да кроме MS и Java под винду всё работает кое-как. Даже C++ как-то так...
Delphi - он жив вполне, тоже работает замечательно. Большая часть игр с махровейшим с++ выпущена именно под винду.