Dmitry
есть ощущение, что тормозит вывод - поскольку это обновление базы
Dmitry
и со временем там увеличивается время записи
Dmitry
не лучше ли отдать больше времени на обсчёт, ну и пускай растёт очередь?
Alexander
@voidlizard bounded channel / conduit-stm
Alexander
n потоков обработки, которые из очереди читают
Alexander
можно попытаться со strategies (parallel и генерить чанки, то там может быть все сложнее)
Dmitry
а почему bounded ?
Dmitry
для безопасности? что бы память не жрало если где-то не расссчитал?
Dmitry
стоит ли с этим возиться вообще?
Max
Ну, нарезать можно в сколько угодно потоков, все равно в ядрышке это упрется в один поток на диск. Зря чтоль бсдшники на линукс псят...
Dmitry
если в один поток, то достаточно одного потока-писателя
Max
Да, на один физдиск.
Max
Дисков же может быть много...
Dmitry
опять я обсуждаю общие вещи тут вместо misc-dev-talks, но тут вопрос - не вносят ли хаскельные примитивы синхронизации слишком большой оверхед
Dmitry
вообще в нашем уютненьком произошел некоторый прорыв - т.е еще пару лет назад распараллеливание означало только то, что все ядра заняты сборкой мусора, а общая производительность падает
Dmitry
сейчас же даже самое тупорылое распараллеливание даёт приход процентов 30
Alexander
@voidlizard для того, чтобы память не жрал, и было сбалансировано
Dmitry
пара = ну два, ну три, но никак не болше пяти
Alexander
чего толку IO гонять, если CPU не успевает
Dmitry
ну короче, писать в базу во всех потоках, которые и считают - это ошибка
Dmitry
и приводит к простоям
Dmitry
даже если писать батчами
Alexander
тем более что оно ни капельки не сложнее, тупо другой импорт
Alexander
ну и наоборот, чего толку считать, если у нас затык при записи в базу
Dmitry
ну то, что насчитали можно откладывать в пямяти
Dmitry
если она будет жраться на это - ну и пусть, размеры позволяют
Dmitry
а вот если памяти нет и на диске затык - то да, надо ждать
Dmitry
что же это получается
Dmitry
получается стандартное джава приложение, что ли - две очереди и k + n потоков - очередь на обсчёт, очередь на запись ?
Dmitry
все вот так предельно тупо и никакой хаскельной легкости?
Alexander
ты можешь сделать обработку списка и призвать parallel
Alexander
если у тебя там все чистое
Dmitry
ну чистое, но не очень - файлы-то читаются
Dmitry
сам обсчет правда чистый, но запись
Alexander
https://hackage.haskell.org/package/parallel-3.2.1.1/docs/Control-Parallel-Strategies.html
Alexander
концы не в счет
Alexander
можно ещё conduit-stm
Dmitry
а это сильно лучше, чем нарезать список вычислений на чанки и обработать в forConcurrently ?
Alexander
там эти штуки есть, будет один пайп который все делает
Alexander
forConcurrently не контролирует число потоков в один момент же?
Alexander
или контролирует
Alexander
mapConcurrently точно нет
Alexander
с parallel и очередями - по желанию
Dmitry
но если дать список с числом элементов = число ядер, оно все ядра и загружает
Dmitry
видимо, понимает намёки, с другой строны с чего бы ему создавать потоков больше, чем ядер?
Alexander
ну у тебя тогда чанков по числу ядер?
Dmitry
ну да, я это явно делаю
Alexander
mapConcurrently делает число потоков по числу элементов обрабатываемых
Dmitry
ну логично
Alexander
ну в такой постановке я не вижу большой разницы
Alexander
я думал там в т.ч. мельче чанки нужны
Dmitry
про стратегии же есть в параллельно-конкурентном?
Dmitry
я про книгу
Alexander
есть
Dmitry
просто там сильно заморочено по сравнению с forConcurrent
Arseniy
Ребятки, немного оффтопа. iMac -- хорошо? Причина -- дико захотелось себе макось на десктоп. Или это все от лукавого? :)
Dmitry
кому и кобыла - невеста
Arseniy
Адекватное мнение, спасибо
Dmitry
ну что значит "хорошо" ? хорошо у всех своё
Dmitry
мне вот плохо везде, где нет xmonad-а
Dmitry
а другим это совершенно не мешает
Dmitry
хаскель на нем работает, так что в этом плане там нормально
Alexander
у меня на маке в итоге живет gentoo+nix
Dmitry
под макосью?
Alexander
т.к. я макось не осилил
Arseniy
Я вообще на nixos с xmonad сижу 3,5 года :/ Вот типа аналогичный дауншифт делал?
Dmitry
ну в смысле ядро-то там какое?
Alexander
линуксовое
Dmitry
ха
Arseniy
Я тоже боюсь, что через месяц все к чертям снесу и поставлю своё любимое..
Dmitry
я помню свои попытки перехода на макбук, кончилось все взромождением туда линукса и многодневными плясками что бы побороть загрузчик
Dmitry
в итоге отдал ребенку, а себе купил леново. который выбирал по сайту linux on laptops
Alexander
если нужны фичи железа, для музыки там и т.п.
Alexander
то возможно придётся мириться с неудобной осью
Dmitry
видео
Dmitry
на линуксе теперь даже видео не нарезать нормально. на полном серьезе предлагают ffmpeg-ом пользоваться
Arseniy
Как ощущения?
Anonymous
Надо просто взять и привыкнуть