IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2025/02/19
~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+Xeha
AreEnn_
Guest7184
Komap
Most2
Nausicaa
Nikat
Opax
Vort
`
anon4
b3t4f4c3
fidoid
i
karamba_i2p
nemiga
nix_
poriori
profetikla
qend
r3med1tz
soos
uis
un
weko
whothefuckami
woodwose
onon Короче у меня там проёб в логике случился в стримах.
onon При сбросе окна
orignal и что делать?
onon Не знаю, делать это отдельным фиксом или вместе с другими изменениями.
onon Вроде ограничения скорости роста окна или расчета джиттера
orignal сделай отдельным
onon ок
onon Как правильно делать? Так:
onon m_WindowDropTargetSize = m_LastWindowDropSize - (m_LastWindowDropSize / 4); // -25%
onon Или так:
onon m_WindowDropTargetSize = m_LastWindowDropSize * 0.75; // -25%
onon Вроде в первом варианте два действия
onon Лучше наверное второй. Но я не знаю точно.
orignal а числа целые?
onon float
orignal тогда второй
orignal только один?
onon Угу
onon В хидер ничего не меняется
orignal счас посморю кое что доделаю
onon Там он при разгоне сбрасывал окно меньше чем нужно а при заторе - больше чем нужно
onon Ну и ещё пару фиксов там сделал
orignal как называется?
onon Надо придумать...
onon Fix the calculation of the window drop size
onon Наверное как-то так
orignal так а что мы должны увидеть?
onon Меньше перегружать будет промежуточные узлы
onon И стабильнее работать
orignal проверим
orignal минут через 10
orignal я тут большую переделку затеял
onon Кого переделывешь
orignal чтение RouterInfo
onon Да, работа с ФС точно требует оптимизации
onon Очевидно, там узкое место
orignal там не фс там гребвный стрим
onon Надеюсь я там не при делах
orignal нет это мой очеь старый код
orignal когда я даже не мыслил делать флудфил ))
onon Ну тогда давай, мы в тебя верим.
onon А я пока ограничение окна тестировать буду
orignal залил
onon Угу
Lor741 не работает ваш флаг USE_STATIC=yes собрал с ним и при запуске в голом alpine все равно требует кучу либ
Vort авторы линукса не любят статическую линковку, что тут поделать
un ты когда собрал . посмотри output `ldd /path/to/binary/i2pd`
un покажет что динамечески осталось
un эти либы вместе с бинарником копируй и используй `LD_LIBRARY_PATH=$PWD i2pd` для запуска
Lor741 если либы копировать то тогда смысл немного теряется, так то я могу и не парится со статической сборкой и все либы скопировать которые требуются. В принципе тоже вариант, только это надо как то
Lor741 автоматизировать через sh
Lor741 либо использовать это staticx.readthedocs.io/en/latest/introduction.html
Lor741 со staticx получилось сделать статичный бинарник и ужать его до 4мб
Lor741 / # ls -alh ./i2pd-static
Lor741 -rwx------ 1 1000 1000 4.0M Feb 19 10:18 ./i2pd-static
un круто. теперь погонять потестить
Lor741 запустил, сейчас с этого статического бинарника сижу
Lor741 куда можно вылождить файл для статической сборки, на cake?
orignal жди R4SAS -а
Lor741 там короче Dockerfile это для сборки образа Docker, но можно там собрать статический бинарник и вытащить в свою хостовую систему
orignal вот жди его
orignal по поводу докеров
Lor741 не, этот r4sas нагрузил коммитами по почте на mail i2p, у меня нет почты на постмане и заморачиваться этим ради одного патча не охота
Lor741 выложу тут ссылку кому надо утащать
Lor741 Вот Dockerfile
Lor741 А это ./entrypoint.sh
orignal переделал парсинг RouterInfo со стрима на буфер
Lor741 Собирать примерно так
Lor741 docker buildx build --no-cache --build-arg PUID=1000 -t i2pd:latest .
Lor741 PUID - это id пользователя от имени которого будет запускаться i2pd. Это полезно когда делаешь проброс рабочей директории с хостововй машины -v ./data:/home/i2pd/data чтобы ты мог редактировать данные без
Lor741 повышения sudo в своей системе
Lor741 orignal чего даст, скорость?
orignal на флуфиилах это часто вызывается и лишнюю аллокацию паяти выкинуть
orignal стрим он тупо медленный для этого
orignal для потока в сотни в секунду
Lor7412 пересобрался
orignal ну это пока еще не окончательный вариант будет пара переделок
orignal пока тестурую на флудфиле
segfault orignal: думаешь дело в одной аллокации?
orignal нет
Vort как я понимаю, дело просто в более чистом коде :)
orignal там тупо стрим это лишний оверхед
orignal Vort правильно понимаешь ))
orignal и когда читаются параметры не надо копировать а работать со string_view