Ну и пулы тоже дело хорошее, да. Но я последние годы стараюсь обходится вообще без менеджера, так интереснее. Только malloc\free только хардкор.
Пулы это на начальном этапе хорошо, они между прочим довольно тормозные в плане аллокации.
Дядя Миша
Чего ж там тормозного? Там же ровер есть.
Если сильная фрагментация - то да, ровер будет часто промахиваться. А если дефрагментировать клумпингом - то это будет отнимать время.
Ну вот аллокация в пулы - довольно тормозная штука. Правда всплывает это не сразу. Помнится советский кодер в первоначальной реализации своей травы аллокал каждый кустик по отдельности. И всё было в порядке, память не дефргаментировалась. Но аллокация какой-нибудь сотни тысяч кустиков занимала порядка 60-90 секунд.
Сабж: потому что Си++ и шаблоны вырвиглазны. И, если не трахаться с парсингом сайтиков и 1С, процентов 60 этого не особо нужны.
Если бы не строки. Эти сраные строки. Эти мерзкие сраные строки.
Вообще, вопрос этого треда кто-то (мб даже XaeroX) закрывал год назад, приводя аргументом статью Страуса про то что Си устарел.
Цитата:
Дядя Миша писал: За попытки переложить менеджмент памяти на сторонние библиотеки, умные указатели и встроенные средства языка погромисту надо отрубать руки. Память надо уметь выделять самому. Хапнул большой кусок и вручную там разместил всё нужное. А потом удалил за один вызов. Вот как надо.
+1
счас понабегут тхамбсы с криками "в 21 веке никто не обязан уметь выделять память"
Цитата:
FreeSlave писал: Если же он вам подходит, то лучше взять Java, Go или любой другой высокоуровневый язык по вкусу.
Ага, ага И другие гнидогадоидные языки с вечнодырявыми виртуальными машинами по 200МБ в дистрибе. И попробуй только не обновись - сразу в очередную дыру тебя и отымеют.
Цитата:
nemyax писал: Можно ведь в простых случаях и макросами обойтись.
Почитай VGUI.h @34 - персональное обращение вальве к тебе.
Цитата:
Дядя Миша писал: Ну вот аллокация в пулы - довольно тормозная штука. Правда всплывает это не сразу. Помнится советский кодер в первоначальной реализации своей травы аллокал каждый кустик по отдельности. И всё было в порядке, память не дефргаментировалась. Но аллокация какой-нибудь сотни тысяч кустиков занимала порядка 60-90 секунд.
Удивительно, но я нарвался на такое г-но при аллокации вейпойнтов дял ботов. Продолжалось это не одну минуту. Тут 100% есть какой-то подвох. Кто виноват - компилятор, рантайм, ОСь - ХЗ. Но бывает, что на ровном месте то работает, то - нет.
Дядя Миша писал: Ну и пулы тоже дело хорошее, да. Но я последние годы стараюсь обходится вообще без менеджера, так интереснее. Только malloc\free только хардкор.
Пулы это на начальном этапе хорошо, они между прочим довольно тормозные в плане аллокации.
Я тоже жеж так хардкорил, пока мем лики не полезли изо всех щелей. (=
Добавлено 20-07-2016 в 16:42:
Цитата:
Дядя Миша писал: За попытки переложить менеджмент памяти на сторонние библиотеки, умные указатели и встроенные средства языка погромисту надо отрубать руки. Память надо уметь выделять самому. Хапнул большой кусок и вручную там разместил всё нужное. А потом удалил за один вызов. Вот как надо.
Тогда фргаментация стремится к нулю.
Кстати да, впервые с этними умными указателями встретился в УЕ4 и они меня уж жутко бесят.