]> Sergey Matveev's repositories - stargrave-blog.git/commitdiff
Проблема с тредами у btrtrc
authorSergey Matveev <stargrave@stargrave.org>
Mon, 28 Nov 2022 13:57:47 +0000 (16:57 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Mon, 28 Nov 2022 14:45:47 +0000 (17:45 +0300)
github.com/anacrolix/torrent порождает такую кучу тредов
(2643c085a0970d8d8bc3471cb5c294ba8b09fee8), что ОС это совершенно не
нравится. На самом деле, это просто настолько активная конкурентная
работа с файлами, что сам Go порождает эти треды для блокирующих операций.

Решил её линейно выполняя I/O операции для каждого файла. Просто захват
mutex-а каждый раз. Больше кол-во тредов не растёт. Плюс добавил
сохранение этих файловых дескрипторов открытых на 10сек -- существенно
уменьшает кол-во системных вызовов open/close.


No differences found