IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2023/02/27
~R4SAS
~orignal
~villain
&N00B
+relaybot
Guest557
Leopold
Most2
Nausicaa
Nikat
Opax
Orion
Vort
WayBest
`
acetone_
anon1
anontor
b3t4f4c3
banona_
fidoid
grimreaper
karamba_i2p
ncop
onon
onon1
polistern
poriori
profetikla
qend
r00tobo
readonly
scratch
soos
teeth
tensor
typhoon
uis
un
weko
whothefuckami
колдоёбина
колдыр
R4SAS слишком много мелочи утекает
R4SAS по 32 байта
R4SAS в каком то sdt::pair
R4SAS но я пока что не могу глянуть конкретно
orignal так std::pair это просто обертка
orignal оно никакой ресурс не жрет
weko Подозрительно, туннели повысились, количество ssu2 транспортов повысилось
weko Как и в прошлый раз при спаме туннелями, но в этот раз не так много
relaybot 13trus: разминочка?
Vort R4SAS: нашёл багу в cmake сборке: github.com/Vort/i2pd/tree/fix_arch
Vort сборка в GHA прошла без ошибок, сделал PR: github.com/PurpleI2P/i2pd/pull/1890
R4SAS Vort: +
R4SAS orignal: такой вопрос
R4SAS под виндой есть софитна для поиска утечек
R4SAS разраб предоставляет бесплатную лицензию для опенсорса, но в замен просит в README добавить словечко о том что используется программа для поиска утечек
Vort избавился от нескольких предупреждений компилятора. можете проверить эквивалентность нового варианта старому? github.com/Vort/i2pd/commit/f6d8c1ed361077098e9f805416d83070b9e36fb4
orignal R4SAS обойдется
orignal да и нету у нас утечек поверь мне
R4SAS orignal: хех
R4SAS Vort: ща гляну
orignal я тебе точно могу сказать где "утечка"
orignal на концах тоннелей
R4SAS опять скажешь про unordered_map?
orignal фрагменты сообщений
R4SAS который постоянно добавляется, но нельзя ресайзнуть
R4SAS ну, фрагменты фрагментами
orignal там он быстро стаблизируется
orignal вот фрагменты все и дают
R4SAS тогда почему не уеньшается объем после запрета транзита?
R4SAS когда всё минимизируется и по трафику, и по нагрузке
R4SAS живой пример практически вчера - транзит выше 6МБ/с, 140 Мб ОЗУ
orignal у меня без транзита стабильно
R4SAS остановка для пересборки, но приложение работает не 10 минут, а 4 часа (ушел по делам, и потом только перезапустил)
orignal не уменьшается потому что так работает менеджер памяти
R4SAS перед выходом было 110 МБ, при нулевом транзите
orignal если память в системе есть то он держит освобожденную за процессом
orignal запусти на машине где мало памяти и сам увидишь
orignal запустил ygg-only c O так за полчаса 125 тразитов прилетело
weko Нормально так
weko Раньше же меньше было
weko 3.6 процента (на ядро) в среднем занимает NetDB за двое суток аптайма
orignal так я удвился че так много
weko Раньше я так не считал, так что сравнить не выйдет :(
orignal похоже дело в изменениях с публикацией
weko Хотя могу поставить коммит до dht и проверить
R4SAS добавь пробел
R4SAS на 207 тоже
R4SAS насчет USEROBJECTFLAGS uof = {} --- не знаю
weko 4b421d3f вот на этом коммите смотрел если что
weko Посмотрю теперь что было до DHT....
R4SAS разница между явным указанием нуля и его отсутствием есть?
orignal не уверен
orignal 0 гарантирует что будет инициализированно нулем
orignal а без него x3
orignal уже 300
orignal через 50 минут
R4SAS Vort: там по идее можно сделать { 0, 0, 0 };
orignal { 0 } это то же самое
R4SAS там компилятор просто орет что не указано ничего в инициализаторе для других переменных
R4SAS Win32Service.cpp:24:29: warning: missing field 'fReserved' initializer [-Wmissing-field-initializers]
orignal а USEROBJECTFLAGS это что?
R4SAS виндовое крч коворя
orignal так еще бы
R4SAS структура куда пишутся данные
R4SAS чего?
orignal {0 } можно только для массивов
orignal а это структора
R4SAS знаешь, гнусовские плюсы и мелкомягкие - разные вещи
R4SAS так что не удивительно
orignal вот тебе пример
orignal да нет
orignal это неправильное использование {0}
orignal и да надо {0,0,0} по числу полейц
orignal точнее {false, false, 0 }
R4SAS я к тому что msvc может по другому интерпретировать
orignal не может
orignal это стандарт яызка
orignal так что шарп а не плюсы
R4SAS в .NET тоже нули в полях
R4SAS я к тому что не false,false,0
R4SAS да и разве false !== 0?
orignal одно и то же
R4SAS разницы нету
orignal но false логически верно
orignal есть
orignal читаемость кода
R4SAS хе, автор deleaker оказывается русский
weko Сборка с WITH_GIT_VERSION не учитывает git checkout
R4SAS weko: притензии к git
R4SAS там вызывается git describe --tags
R4SAS и соответственно там не должно писать что ты на левом бранче
R4SAS пишется количество коммитов от тегв
weko Число коммитов верное, но вот хэш вообще как будто из жопы
weko Странно
weko Понял суть
weko Всё верно, короче
weko Меня смутила буква g перед хэшем, я подумал что это часть хэша
weko Потом посмотрел на хэши, увидел что они все записаны в шестнадцетирчных числах
weko А цифры g нету
R4SAS ну да, g подставляется всегда
R4SAS цифры g
R4SAS ЖВ
orignal жопа ))
Vort перед тем, как убирать 0, я хорошенько погуглил этот вопрос. результат что с нулём, что без него в _данном_ случае - одинаков
Vort компилятор, по сути, предполагает, что программист мог хотеть сделать в остальных полях не-ноль
Vort "<~R4SAS> добавь пробел" там половина кода так, половина - эдак. может, тогда, везде в этом файле пробелов перед скобками наставить?
Vort R4SAS: подобавлял по аналогии: github.com/Vort/i2pd/commit/a1f19971bf1db75823408b3f95fe54487370e4d3
Vort там можно много чего ещё в отношении стиля менять. но это же можно и про весь код сказать :) в общем, это надо отдельно заниматься. пока что предпочитаю приспосабливать свой стиль к окружающему коду
Vort "<~orignal> 0 гарантирует что будет инициализированно нулем" будет инициализация первого поля нулём, остального стандартными значениями (в данном случае тоже нули). это если нет конструктора, с конструктором там как-то иначе
orignal Vort только в C++ нет "стандратных значений"
orignal для элементарных типов
orignal это не гоу
Vort для этого есть специальные термины, я не очень точно выразился. но суть в том, что туда идут именно нули
orignal я спорить не стану
Vort стандартные значения есть, просто они используются не всегда. я сейчас ради интереса вспомню пример
orignal возможно у них у той структуры есть констркутор по умолчанию
orignal но в C++ четко сказано что значений по умолчанию нет и даже если они есть для конкртеной реализации в целом на них полагаться нельзя
Vort orignal: вот я, к примеру, приниудительно вызвал конструктор для int`а: int x = 5; new(&x) int(); std::cout << x << std::endl;
orignal ну это то да
weko [17:10:42] <R4SAS> цифры g
weko Ну в шестнадцатиричной системе abcdef - цифры :)
weko Не буквы же )))
R4SAS weko: в шестнадцатеричной нету g
weko R4SAS: ну это как раз то, что я изначально и написал :)
Vort R4SAS: так что по поводу стиля в файле util.cpp - достаточно тех пробелов, что я подобавлял в последнем коммите, или ещё что-то переделать?
R4SAS ладно, забей
R4SAS но { 0, 0, 0 } лучше сделать
R4SAS или как orignal говорит false, false, 0
R4SAS я уже насмотрелся на "непредвиденные значения"
R4SAS как это было с булем в парсере HTTP
orignal в плюсах всегда лучше инициализировать явно
Vort тут вопрос в понимании программистом написанного и в реакции компилятора на код. по сути что { 0 }, что {} дают в данном случае одинаковый эффект
Vort но мне не жалко и явно прописать
Vort кстати, там в структуре не bool, а BOOL или WINBOOL. которые определены как int
Vort поэтому вместо false там нужен FALSE
R4SAS mingw это обрабатывает на ходу
R4SAS там дефайны на этот случай
Vort я считаю, что правильно вот так:
Vort USEROBJECTFLAGS uof = { FALSE, FALSE, 0 };
Vort пойдёт?
R4SAS пойдет
orignal пойдет
Vort оформил таким же образом: один коммит убирает предупреждения, второй правит стиль (добавляет пробелы)
Vort понадеюсь, что новых багов не добавил :)
R4SAS да там и не где добавлять их
Vort вот и хорошо :)
Vort починка warning`ов - это опасное занятие, поэтому перестраховываюсь
Vort по поводу слияния кода - коммиты из других репозиториев можно и без PR вливать - насколько я понимаю, это эквивалентно изменению указателя
Vort но если удобнее, могу PR делать
R4SAS удобнее pr
R4SAS иначе придется в сонсольке ковыряться сидеть
R4SAS тут и кнопочка рядом
Vort ещё один вопрос. может, пора уже открепить github.com/PurpleI2P/i2pd/issues/1871 ?
R4SAS ага, открепил
R4SAS залил pr
Vort вижу слияние без мердж коммита. это через интерфейс GitHub так можно?
R4SAS да. rebase
R4SAS через консоль тоже можно
R4SAS как раз то что ты предложил
Vort окей, понял. оно меняет хеши
Vort решил порассматривать код с помощью Clang Static Analyzer. пока что явных багов не вижу. но некрасивое место одно уже нашёл
Vort видимо, в строчках 54 и 55 автор хотел написать вместо "rem" вместо "len - offset"
orignal думаю что да
orignal видимо начал не дописал ))
Vort результат, судя по всему, тот же, но такой код смущает анализатор )
orignal правильно смущает
Vort я проверил, что bufs не бывает пустым. но если бы был, то err оказался бы без инициализации
Vort насчёт этого случая не знаю, стоит ли что-то менять
orignal логично
orignal надо иниициализировать нулем