IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2023/10/31
~AreEnn
~R4SAS
~orignal
~villain
&N00B
+relaybot
DUHOVKIN
Most2
Nausicaa
Nikat
Vort
Xeha
`
acetone_
anon2
flumental
karamba_i2p
nemiga
not_bob_afk
onon
plap
poriori_
profetikla
silence_
soos
teeth
tensor
un
weko
whothefuckami
orignal Vort погляди пожалуйста мой последний коммит насчет уменьшения времени протухания для медленных и далеких роутеров
Vort orignal: близость при публикации ведь считается динамически, в зависимости от даты
Vort GetIdentHash() же всегда один и тот же, так что это что-то не то
Vort то есть, смысл в том, чтобы не удалялись RI, которые были узлом специально опубликованы
Vort есть ещё один вариант: просто держать отдельный список таких узлов. тогда вообще гадать по поводу расстояния не надо
Vort кстати, юзер, который нашёл XSS, говорит, что исправление вообще поломало addresshelper. надо и с этим разбираться
Vort Плохо помню, как именно считается расстояние при публикации, но вот какую функцию нашёл у себя:
Vort int Distance(RouterInfo publisher, string date, RouterInfo floodfill)
Vort return publisher.RoutingKeyHigh(date) ^ floodfill.IdentHashHigh();
orignal Vort так я вот и не уверен мы оставляем просто близкие к нам или же про раастоянию
orignal то есть ты предлагаешь оставлять тех чей хэш с датой ближе к нам?
orignal поломало я думаю потому что base64 считался непправильно
Vort я предложил ему проверить уже после исправления base64
Vort так что или он не тот коммит взял или было таки два бага
orignal а ну проверю счас
orignal с дистанцией переделаю
Vort "я вот и не уверен мы оставляем просто близкие к нам или же про раастоянию" - в первую очередь надо задать вопрос "зачем это делается?". мой ответ - чтобы не поломать распределённую базу данных с RI
orignal ты говорищшь 7 бит проверять?
orignal да я уже понял твою мысль
Vort там, по-моему, не просто биты смотрятся
Vort сравниваются два большущих числа
Vort для целей оптимизации можно сравнивать только старшую часть
orignal взяли мы этот ^
orignal и каков критерий близости для отсечения?
Vort короч я думаю что можно взять по старшему байту, сделать ^ и сравнить результат со 127
Vort ну я не на 100% уверен
Vort просто там битовые операции не особо нужны
orignal 127 тогда первый бит
Vort это обычное число - меньше или больше
orignal то есть ты просто хочешь сравнивать результат ^ с нулем?
Vort не с нулём, а с константой
orignal ну вот меньше чего?
orignal в первом байте разумеется
Vort допустим, < 128
Vort можно это и через битовые операции сделать. но зачем?
Vort хотя насчёт 128 я не уверен. плохо помню как там делается :(
weko Да это костыли всё. Надо сделать, чтобы много RI не было проблемой
orignal договорились 128
orignal сделаю сегодня
Vort да я не могу по-нормальному вспомнить :( путаю где там младшие биты, где старшие
orignal то есть тебе надо сравнивать певрые биты
weko Ну чем младше бит, тем меньше расстояние. Значит надо те, где расстояние > 2**128
orignal я понял
Vort orignal: насчёт 128 я, скорее всего, фигню написал. если старшие 7 бит - нули, то разница будет или 0 или 1
Vort то есть, < 2
orignal да. логично
orignal по уму это число надо тоже брать от общего числа роутеров
Vort так а что насчёт идеи просто запоминать те узлы, которые публиковались? если запоминать в RAM, то будет проблема при рестарте узла, правда
orignal не знаю
orignal нудо подумать
Vort ну и ещё вопрос вообще для любого варианта: это же только при флудфил режиме своего узла надо близость смотреть?
orignal можно просто делать отметку
Vort без флудфила вроде как бы и пофиг на близость
orignal да только флудфил
orignal HTTPProxy: Malformed jump link
orignal понятна причина
orignal счас починим
Vort решил на всякий случай проверить - совсем я туплю или нет. оказалось не совсем:
Vort This distance is computed as the exclusive or (XOR) of the two node IDs, taking the result as an unsigned integer number.
Vort то есть, результат - число
Vort по поводу константы: она скорее не просто от числа роутеров зависит, а от отношения общего числа к числу флудфилов. думаю, меняться оно часто не будет
orignal этим вот и займусь только сначала починю
orignal base64
orignal поправил base64
Vort что за хрень с GHA происходит? R4SAS ping ?
Vort Build on FreeBSD в какой-то цикл вошёл
orignal что есть GHA?
Vort Github Actions
orignal а x3
Vort там, похоже, какая-то виртуалка и ей поплохело
orignal Vort я там переделал
Vort выглядит нормально
orignal вопрос производительности только
orignal счас проверю
Vort как часто этот код вызывается?
Vort если редко, то пофигу, много оно есть в принципе не может
Vort CreateRoutingKey можно с датой сделать, чтобы не перевычислять её хренову тучу раз, но это запросто может быть "экономия на спичках"
Vort так что чистый код может быть предпочтительнее
orignal вот я и хочу проверить
weko <Vort> CreateRoutingKey можно с датой сделать, чтобы не перевычислять её хренову тучу раз, но это запросто может быть "экономия на спичках"
weko <Vort> так что чистый код может быть предпочтительнее
weko ну тут корректно будет сделать кеширование
orignal влом
weko в python это делает просто декоратором @cache
orignal пока не вижу большой заргузки
weko ltkftncz*
weko делается*
orignal блять теперь нихуя не чистится
orignal похоже они все близко находятся
R4SAS Vort: обновил action, посмотрим
orignal ну все бомба ))
orignal сейчас тебя доставать будут ))
R4SAS пф, пускай попробуют
R4SAS не, там оказывается фряха в бутлупе. так что отключу сборку под него
R4SAS В дальнейшем надо попробовать переключиться на cross-platform-actions
R4SAS *** испарился ***
Vort orignal: не могут все близко находиться
orignal нет конечно просто говорю что вижу
orignal многовато их
weko да раз костыль, так сортируй и чисти 30% самые дальние ))
orignal а нет все нормально стало чиститься
Vort weko: ближних должно быть меньше процента
Vort orignal: час аптайма надо было подождать?
weko вообще не одобряю это изнасилование NetDb
orignal ну да. чтобы получасовые начали отрабатывать как надо
orignal weko ну так всякий шлак надо как то вычищать
orignal а то болтается и мешает
Vort ага, а я говорил, что ступеньку на отметке в час после запуска видел
weko очередная потенциальная возможность для майора делать атаки
weko куча RI просто не должно быть проблемой
Vort weko: так хрен его знает что именно даёт проблемы
Vort и хрен его знает как это вычислить
orignal проблема не в куче RI а в куче плохих RI
Vort возможностей для атаки я тут не вижу
Vort orignal: ну вот посмотрим на рейт
orignal пока растет
weko <Vort> возможностей для атаки я тут не вижу
weko не значит что их нету. к тому же учитывая предидущие костыли ...
orignal я бы не сказал что это костыль
weko ну это и не важно, netdb сделан неверно и в джаве тоже
orignal естественно
Vort на отметке аптайма в 1 час 1 минуту у меня с 11к RI прыгнуло на 7к RI. так что работает
orignal там эта очистка только если выше 6K
tetrimer Я сейчас у себя попробую...
orignal цель это действа в уменьшении число роутеров и увеоичении рейта
tetrimer Посмотрим, у меня тут транзит в основном, так что рейт в районе 20% болтается...
weko только вот верно будет сделать профилирование
orignal у меня счас 35%
orignal weko так сделай ))
Vort у меня тоже было 20%. завтра посмотрим
orignal у меня было аж 19 стало 35
orignal подождем сутки хотя бы
Vort лучше с документирования уже существующего профилирования начать )
orignal еще бы знать что там)))
Vort чтобы можно было хоть сравнить то, что есть с тем, что должно быть
weko orignal: я уже расписал всё
orignal я его еще в 2015 году начал писать
weko ну многоеъ
weko <Vort> лучше с документирования уже существующего профилирования начать )
weko смысла мало. там мало параметром
Vort надо бы измерить "качество" нынешнего профилирования
Vort затем можно как-то переделать и опять измерить, сравнить с тем, что было до изменения
Vort менять вслепую - сомнительная затея
weko качество - текущая скорость и стабильность
weko очень наглядно