~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