aodzaki.toko
blkmrkt
делаешь что-то не так
я имею ввиду что в утилитах написанных на лисп/хаске такое часто встречается
Vladislav
aodzaki.toko
aodzaki.toko
Misha
пользовался один раз в жизни этим pgloaderом, и проблема была ровно такая же, он безумно прожоливый
blkmrkt
еще другой инструмент пробовал для загонки мяса в бд, тоже на лиспе, и тоже с heap overflow встречался при большом количестве кусков данных в настройке инструмента
aodzaki.toko
хм... странно, а чего в issue пишут?
aodzaki.toko
хм. а чем ты комплишь? sbcl?
aodzaki.toko
а сама либа вызывает рекурсию или ты?
blkmrkt
aodzaki.toko
тогда вопрос к тебе
blkmrkt
я сам рекурсию делаю
тьфу, я имел ввиду мой говнокод. А в pgloader конечно где-то рекурсия есть
aodzaki.toko
ты делаешь рекурсивный вызов
aodzaki.toko
кусок кода кинь в лс
aodzaki.toko
тут типа не про лисп группа
blkmrkt
не, я на лиспе не пишу, просто мне показалось что часто в лисповых инструментах встречаю баги с heap overflow
aodzaki.toko
эм.... мне кажется, что это надуманное мнение...
blkmrkt
в хаскеле та же беда была когда сам кодил, но научился не тащить за собой тяжелые вещи внутри рекурсии и не-thread-safe типы внутрь воркеров
Vladislav
aodzaki.toko
тред-сейв и рекурсия .... ммммммм...... ммммммм.....
aodzaki.toko
просто рекурсию в тейл позишн и все
blkmrkt
хм, почитаю сейчас
aodzaki.toko
мне кажется, что у тебя нет четкого представления о теме. тред-сейф ближе к конкаренси. а рекурсия - это рекурсия. а то что у тебя одно через другое - не является проблемой либы или языка.
blkmrkt
aodzaki.toko
бывает
aodzaki.toko
aodzaki.toko
https://github.com/ghc/ghc
aodzaki.toko
blkmrkt
супер 😂
Anonymous
Так ли нужны хвостовые рекурсии? Имплементирована ли в GHC TCO –– я очень сомневаюсь.
Вики говорит (и я всегда думал), что нужно писать guarded рекурсии:
https://wiki.haskell.org/Tail_recursion#Tail_call_optimisation
Anonymous
я же правильно понимаю, что если (в любом ЯП) включить TCO, то в случае чего по стектрейсу ничего не понятно будет?
Vladislav
Anonymous
так вот нет наверно смысла включать её глобально
Anonymous
всё-таки быстро исправлять баги важнее, чем иметь не всегда нужные микрооптимизации
Anonymous
к тому же хаскель и так достаточно быстрый
Serghei
я тут провел 4 увлекательных дня с gdb. так, прям с 8 утра, и до 3ночи. C-89. неизгладимое впечатление. я люблю хаскел
Vladislav
Anonymous
blkmrkt
Подскажите, из каких модулей проще слепить реверс-HTTP-прокси-сервер? Суть вкратце: слушаем коннекты на определенном порту, и для каждого клиента перекидываем его реквест через какой-нибудь прокси-сервер из пула серверов.
Vladislav
из nginx'а?
Anonymous
Alexander
blkmrkt
из nginx'а?
не, кодом нужно будет хандлить мертвые прокси, добавление новых, аутентификацию и прочее
Alexander
не видел, но часто случается, ок
Alexander
прокси из network-conduit в 3 строки
Alexander
оно у них прямо в хаддоках написано, но лучше nginx :)
blkmrkt
просто у меня есть пауки, и хочу отстегнуть логику прокси от перемешивания и хранения массы прокси-серверов. Просто хочу поднять один прокси сервер и направлять всех пауков туда
blkmrkt
в среде блеквованов это называется backconnect proxy
Vladislav
Alexander
я бы не таскал хттп на последнем уровне
Alexander
а там уже все что угодно можно делать
blkmrkt
не хочется ради этого редис подключать
Alexander
lmdb, leveldb, vault, какая там наивная база была? да хоть memmapped файл
Alexander
вопрос в требованиях
Vladislav
Vladislav
rocksdb, опять же
blkmrkt
blkmrkt
А вообще хаскель это правильный инструмент для реализации backconnect proxy сервиса? Задача - держать сотню тысяч коннектов и гонять данные туда-сюда.
Quet
Vladislav
blkmrkt
why not?
слышал что памяти много ест
еще вот бенчмарк нашел http://eric.themoritzfamily.com/websocket-demo-results-v2.html
Alexander
нормально вполне
blkmrkt
go очень неплох
Alexander
используй го, если умеешь но и не умеешь haskell
Alexander
но если вопрос про жрет памяти, то го не факт что должен рассматриваться, у них latency oriented gc
Vladislav
Alexander
который принципиально не может быть ограничен по памяти
Alexander
blkmrkt
ну сделаю пока на хаскеле, и пока не сломается трогать не буду
Quet