IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2023/03/15
~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
DUHOVKIN
Leopold
Most2
Nausicaa
Vort
Xeha
anon2
b3t4f4c3
karamba_i2p
nemiga
not_bob_afk
poriori_
profetikla
soos
un
weko
whothefuckami_
orignal i2p::crypto::Verifier * m_Verifier в IndextityEx
orignal голый указатель
orignal еще и std::mutex m_VerifierMutex в каждом из них
nick-kramer-117 Доброго времени суток, допилил TCP сервер/клиента для i2pd роутера. Залил на гитхаб.
nick-kramer-117 Доброго времени суток, допилил TCP сервер/клиента для i2pd роутера. Залил на гитхаб.
nick-kramer-117 У себя затестил сея бестиарий, ~12 частов сервер работает паралельно с i2pd роутером, клиентом спокойно подключаюсь. Пока нареканий нет. Работает стабильно.
nick-kramer-117 Тольк криво впил его в демна, но работает)
nick-kramer-117 впилил* демона*
Vort к сожалению, специализированную кучу винда раздувает примерно так же, как и обычную: paste.i2pd.xyz/?449cd0e4e8e9fd78#xk77mUnAp6zDQTRbHfzYg1ZUovPVhvaj7GtkgWXgxAh
Vort (общий график выделений памяти: paste.i2pd.xyz/?f564216d082422f3#HcyvNV4gS3Dwne4vkkQkTEsMDgUbNxjmiqj7F32cQZ3q )
relaybot 13Murdoch: тест
whothefuckami тест да
orignal надо подумать там насчет verifier в Indetity
Vort "<~orignal> и какие предложения?" я думал над тем, чтобы объекты, вносящие наибольший вклад в фрагментацию главной кучи, из этой кучи вынести куда-то в другое место
Vort однако вариант с простым созданием специальной кучи для винды оказался неудачным - её точно так же раздувает, хоть там и блоки все одинакового размера
Vort "<~orignal> голый указатель" на IdentityEx я обратил внимание из-за того, что блок этого объекта в топе по объёму как выделенных, так и свободных блоков. это просто пример
Vort о других объектах стоит тоже думать, но главная проблема - это то, что с ними делать
orignal для EDDSA надо пул сделать я считаю
Vort какие критерии для определения того, надо делать пул или не надо?
orignal насколько часто выделаются удаляются
orignal грубо говоря EDDSA часто ECDSA-521 редко
Vort посчитать желательно, что часто, а что - редко
Vort ну и мне кажется, что размер блока тоже надо как-то учитывать
Vort вот явно много выделяется объектов по 32 байта. им нужен пул?
orignal думаю выкинуть статс со страницы джампов
orignal вот как раз по 32 и надо
orignal более того я думаю что мелкие надо выделять сразу пачками
Vort "<~orignal> более того я думаю что мелкие надо выделять сразу пачками" чтобы у них при освобождении было больше шансов объединиться в более крупный блок?
orignal чтобы они не влезали в промежуток между крупными
orignal а вяделялись рядом
Vort тогда вопрос что понимается под пачками: 1. в цикле, допустим, тыщу malloc? 2. выделение более крупного блока одним malloc и нарезание его на кусочки вручную?
whothefuckami Мне тут кстати недавно рассказали про Boost.Pool. Я хз что вы хотите, но может он вам тоже подойдёт
Vort хотя, тут, наверно, больше речь не о том, чтобы "не влезали", а чтобы меньше перемешивались с крупными
Vort то есть, чтобы было, допустим, не 10 1000 10 1000 10 1000, а 10 10 10 1000 1000 1000
whothefuckami Можно по разному хипу для каждого потока?
whothefuckami Или вы уже так делаете?
Vort whothefuckami: ну посмотри что я писал за последние сутки. я сделал одку кучу для одного типа данных
Vort и её точно так жа раздуло
Vort тут ещё надо чётко понимать задачу
Vort можно ускорять выделения блоков, увеличивая потребление памяти, можно наоборот
Vort как я понимаю, с CPU сейчас проблем особо нету. а вот память лишняя зависает
orignal нет 1000 malloc подряд
orignal а потом при запросе уже брать созданные
Vort ок, понял
Vort сейчас выложу карту памяти по результатам моего эксперимента с отдельной кучей
orignal whothefuckami делаем
orignal много где
Vort серо-розовый цвет - индикатор освобождённой мелочи
Vort "делаем" - то не кучи, а пулы. куча у них общая
orignal ну да пулы
orignal делать свою кучу это так себе занятие
Vort чем плохо? (я-то догадываюсь, но всё же интересно)
orignal писать код кучи вообще дело дурное
orignal лучше пулы усовершенствовать
Vort ну это не поможет в случае когда куча специально сделать так, чтобы её раздувало. (других объяснений того, что я вижу на винде, у меня нету)
Vort сделана*
orignal идея в том чтобы максимально использовать повторно
Vort кстати, сейчас пулы когда чистятся, то в ноль, да?
Vort может, стоит немножко оставлять? к примеру, процент от общего количества выделенных (живых) объектов
orignal можно
orignal но тогде надо считать
orignal я просто сделал максимально просто
Vort ну ++ это одна из самых лёгких операций
Vort просто очистка в ноль практически гарантирует, что всё очищенное надолго зависнет в куче (по крайней мере на win7)
Vort надо бы делать анализ и для других ОС, но с этим я мало чем могу помочь
orignal да знаю я
orignal говорю же сделал самое просто
Vort окей
orignal да пожалуй переделаю
orignal буду уменьшать каждый раз в половину