@dlangru

Страница 555 из 719
Denis
07.05.2018
10:48:58
всё это в памяти лежит потому что sync оно не делает

Ievgenii
07.05.2018
10:49:35
Что значит не делает?

Делает

Это с ожиданием синка на диск

Google
Ievgenii
07.05.2018
10:50:06
У меня памяти столько не хватило бы)

Просело немного

Уже 60-90

Denis
07.05.2018
11:03:27
очень странныевещи делаешь

Pavel
07.05.2018
11:11:23
А вот скажите мне

У меня есть структурка 10-15 байт. Мне надо под такие структурки аллоцировать память. Я планирую сделать freelist. Что будет лучше - аллоцировать память большими сплошными кусками, и потом делать realloc, или просто аллоцировать каждый раз кусочек размером со структуру и хранить указатели?

Dark
07.05.2018
11:15:01
Ну тут зависит от задач, думаю

Pavel
07.05.2018
11:15:48
будет не больше 100_000 с вероятностью 99% )

Dark
07.05.2018
11:15:48
Если тебе заранее известно, что ты будешь аллоцировать разом >15 структур, то большими кусками

Pavel
07.05.2018
11:16:11
А скорее всего будет в среднем 20_000 или даже меньше

Pavel
07.05.2018
11:16:38
А как часто они будут добавляться/удаляться?

Pavel
07.05.2018
11:17:06
Ну если это freelist то они добавляются сначала до 20к а потом переиспользуются.

Google
Pavel
07.05.2018
11:17:19
Но если выделять память сплошным куском то freelist не нужен особо

А нет, все таки нужен походу

То есть эти структуры всегда добавляются и никогда не удаляются, видимо.

Dark
07.05.2018
11:18:29
Тогда большими кусками, логично?

уменьшать же не надо, я так понял

Pavel
07.05.2018
11:19:08
Да как-то не вижу логичности. Может так быть что мы выделим большой кусок а он будет на 90% пустой все время

Хотя я щас вычислил, походу я из-за спичек спорю. 20000 структур по 15 байт это 300кб памяти примерно ))

Stanislav
07.05.2018
11:20:29
полтора мегабайта жалко?)

Pavel
07.05.2018
11:20:48
полтора мегабайта жалко?)
Получается freelist нафиг не нужен?

Stanislav
07.05.2018
11:20:50
100к по 15 байт (если выравнивание по 1 байту)

Pavel
07.05.2018
11:22:29
А если размер структуры будет сильно больше (1кбайт) то уже есть смысл заюзать freelist ?

Pavel
07.05.2018
11:27:14
freelist Это вот это вот? https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BE%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F

Pavel
07.05.2018
11:28:01
Ага, хитрая удобная штуковина

Позволяет нааллоцировать много много кусочков памяти и почти мгновенно их использовать и отпускать

Pavel
07.05.2018
11:28:46
Я знаю, я его сам придумывал)

подходит когда много, часто и примерно одинаковых

Pavel
07.05.2018
11:29:39
Ну вот как раз мой случай

Но в чем суть моего вопроса-то - я как-то не вижу разницы между кучей фрагментированных кусочков, связанных в линейный список, и одним большим куском.

При этом freelist делает больше аллокаций, но зато более точно расходует память, не выделяя лишнего.

И может работать даже когда память фрагментирована и нет места для одного большого куска

Google
Denis
07.05.2018
11:31:27
будет не больше 100_000 с вероятностью 99% )
одним массивом сделай и мозги не парь

Pavel
07.05.2018
11:31:42
суть в том, что выделяется один кусок, в рамках которого выделяются/освобождаются мелкие. почти без накладных расходов.

по сути там массив и есть

Denis
07.05.2018
11:32:53
За счет чего медленнее доступ?
за счёт разыменовывания указателей на указатели

Pavel
07.05.2018
11:33:03
А перерасход памяти тоже не вижу откуда - в сплошном массиве точно так же надо будет хранить укзатели на свободные кусочки

Pavel
07.05.2018
11:33:20
Pavel
07.05.2018
11:33:24
Так как они освобождаются не всегда с конца, а могут и из середины

Dark
07.05.2018
11:33:37
За счет чего медленнее доступ?
Последовательный же

Igor
07.05.2018
11:33:52
а освобождать нужно будет?

Pavel
07.05.2018
11:34:37
а освобождать нужно будет?
Когда структура не нужна, то этот кусочек памяти уходит обратно в список свободных. Это типа освобождение, но на самом деле память не освобождается.

Denis
07.05.2018
11:36:08
сделай как-нибудь, будет тормозить переделаешь

Igor
07.05.2018
11:36:25
я о другом. есть такой аллокатор - region, он выделяет большой кусок памяти, в пределах которого потом аллоцирует мелкие кусочки если нужно. потом когда всё это не нужно он одним махом всё удаляет. для всяких батчей - самое оно

Pavel
07.05.2018
11:37:08
Ну большой кусок никогда не нужно освобождать

Pavel
07.05.2018
11:37:51
)))

Igor
07.05.2018
11:38:01
ну тогда да, делай как-нибудь, но так что-бы потом можно было поменять, а там будет видно

Stanislav
07.05.2018
11:39:14
речь я так понимаю идёт про случай c nogc?)

Google
Denis
07.05.2018
15:48:04
как найти место откуда вызвана функция где сидит pragma(msg, )?

Alexander
07.05.2018
16:21:41
Static assert 0

Denis
07.05.2018
16:21:58
оно само пропало после апдейта

из какого-то пакета прилетало, из сериализатора вайба, похоже

Alexander
07.05.2018
16:22:14
Ну и ок

Denis
07.05.2018
16:22:17
угу

месяц собирался силами чтоб найти это место, а оно возьми и пропади

elias
08.05.2018
07:01:34
привет. я смотрю, что парни спонсируют dlang https://opencollective.com/dlang. Интересно, их жены в курсе, на что идут деньги? Или, в основном, холостяки?

Admin
ERROR: S client not available

Valeriy
08.05.2018
07:04:28
привет. я смотрю, что парни спонсируют dlang https://opencollective.com/dlang. Интересно, их жены в курсе, на что идут деньги? Или, в основном, холостяки?
Ээээ. Как бы. Взрослый мужик не обязан у женщины спрашивать, куда ему деньги девать. Если это не на блядей

Максимум поставить в известность.

Там же наверное, те кто миценирует не концы с концами сводят. Из свободных денег. Почему бы и нет.

Denis
08.05.2018
07:28:54
непонятно почему сумма именно такая, неужели там всё нафиг надо переписывать?

Denis
08.05.2018
07:32:25
Вопрос звучит не так

Ievgenii
08.05.2018
07:32:38
Это даже не месяц разработки

Denis
08.05.2018
07:34:22
Сейчас никакого плагина там нет что ли? Я думал что-то уже есть и оно работает но отстало от реалий современных

Ievgenii
08.05.2018
07:36:15
Я не знаю, но человек не хочет работать бесплатно. И он оценил свою работу в такую сумму

Вполне нормальный подход

Google
Denis
08.05.2018
07:47:47
https://forum.dlang.org/post/tkxpdgeredhwqraxnkxj@forum.dlang.org

мой вариант

Ievgenii
08.05.2018
07:51:32
Лично я привык к Идеи. Там, вроде, был какой-то плагин

Как-то привычно, чтоли

Denis
08.05.2018
07:52:17
Мне всё эти модные ИДЕ кажутся перегруженными. для старых языков это норм, новым такое не надо - достаточно подсветки синтаксиса и автокомплитов

Stanislav
08.05.2018
07:52:40
ну дык vscode вполне в духе минимализма (не считая электрон)

там вообще ничего почти нет в комплекте)

Ievgenii
08.05.2018
07:52:53
Ну не знаю. Рефакторинг, умный поиск и т.д.

Denis
08.05.2018
07:53:22
ну дык vscode вполне в духе минимализма (не считая электрон)
он же фактически в окне браузера, какой минимализм

Ну не знаю. Рефакторинг, умный поиск и т.д.
рефакторинг не нужен, умный поиск не такой уж и умный и тоже не нужен

Maxim
08.05.2018
07:54:10
а почему рефакторинг не нужен?)

как минимум «переименовать символ в проекте» часто удобная штука)

Dark
08.05.2018
07:54:41
Denis
08.05.2018
07:55:01
как минимум «переименовать символ в проекте» часто удобная штука)
в наше время такой рефакторинг назывался "поиск -> заменить во всём проекте"

Maxim
08.05.2018
07:55:21
это не то)

Denis
08.05.2018
07:55:22
Он про минимализм интерфейса.
а я про тормоза на каждом чихе и отжирание памяти

Maxim
08.05.2018
07:56:01
в разных областях видимости могут быть переменные с одинаковым названием, где-то в строке может попасться такая же последовательность символов

а нужно переименовать, например, конкретную переменную

Stanislav
08.05.2018
07:57:53
а я про тормоза на каждом чихе и отжирание памяти
хз, у меня наоборот vscode летает по сравнению с idea или даже редакторами типа sublime

Denis
08.05.2018
07:58:17
вот там оно ЛЕТАЕТ

Stanislav
08.05.2018
07:58:41
нууу там наверн ничего и нет :)

Страница 555 из 719