Войти
ФлеймФорумПрограммирование

[C++] Как такая фигня с дизайном языка получилась? (8 стр)

Страницы: 17 8 9 10 11 Следующая »
#105
17:21, 5 июля 2019

1 frag / 2 deaths
Ты никогда с крупным проектом не работал.


#106
17:25, 5 июля 2019

Кот Зловред
Да ладно, были тормоза, причиной которых было разыменование множества объектов, раскиданных далеко по памяти?
И оно решилось заменой на двойное разыменование множества объектов, расположенных рядом?

#107
18:02, 5 июля 2019

В го гц не двигающий и не generational, если че. Так что ситуация с фрагметацией совершенно идентична крестовой (двойной адресации правда тоже нет).

#108
18:24, 5 июля 2019

Го борется с фрагментацией хитророждённым аллокатором. Ситуация примерно идентична, если в плюсах используется TCMalloc.

#109
20:22, 5 июля 2019

Кот Зловред
> Удалять память просто и легко, сложно и очень дорого её выделять.
Вы про какую-то конкретную платформу говорите, или огульно сгребли весь имеющийся на сегодняшний день зоопарк в одну корзину? И что, прям везде проблемы с выделением памяти?

#110
20:23, 5 июля 2019

Кот Зловред
Фрагментация зависит только от паттерна использования, если юзер аллоцирует миллион объектов а потом освобождает каждый четный то тебе никакой аллокатор не поможет

#111
21:08, 5 июля 2019

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

https://wiki.unrealengine.com/Garbage_Collection_Overview#Garbage_Collection

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

Не у всех программ эта проблема есть, конечно.

#112
21:49, 5 июля 2019

totoro
Память выделять дорого везде.

#113
22:01, 5 июля 2019

У меня вот всё из головы никак не выходит мысль.

https://en.wikipedia.org/wiki/Ken_Thompson

Что творится в головах у интернетных опарышей, которые массово непонятно что из себя возомнили.
Типа, все вокруг идиоты, а ты - самый умный? Или может всё же быть идиота кусок здесь - ты?

#114
23:36, 5 июля 2019

Запретить аллоцировать сплошные массивы произвольной длины. Выделенную память типизировать. Массивы известной на этапе компиляции длины считать отдельным типом. Массивы произвольной длины реализовывать через шаблонные деревья-списки массивов фиксированной длины.

#115
0:03, 6 июля 2019

Dmitry_Milk
> Запретить аллоцировать сплошные массивы произвольной длины.
Офигенно вы боретесь с фрагментацией ребята.

#116
8:26, 6 июля 2019

Кот Зловред
> фрагментация похерила всю память
Что значит похериала? Память из-за фрагментации кончилась? Так такого быть не может, особенно в 64-битном адресном пространстве.
Чисто теоретически, конечно, можно представить сценарий, в котором сначала выделяются миллионы мелких кусков, потом половина из них освобождается, и при попытке выделить большой кусок памяти происходит bad_alloc. Но кто и когда такое видел?

#117
12:28, 6 июля 2019

Panzerschrek[CN]
Сколько тебе лет?

#118
14:07, 6 июля 2019

Panzerschrek[CN]
> Так такого быть не может
Так это ты гугл хром написал?

#119
15:55, 6 июля 2019

Кот Зловред
> Сколько тебе лет?
Достаточно.

pahaa
> Так это ты гугл хром написал?
К счастью, не я.

Страницы: 17 8 9 10 11 Следующая »
ФлеймФорумПрограммирование