Ненавижу
автоматически рождающиеся объекты типа блокирующего loading-on-demand. И синглтоны типа Майерса.
автоматически уничтожающиеся объекты под smart_ptr. И подсчёт ссылок.
автоматически регистрирующиеся получатели сообщений. И unbound рассылку сообщений.
автоматически создающиеся нетривиальные объекты со статическим storage duration. И вообще бурную деятельность до main().
мгновенность, нераспределенность, модель exception, lower-order programming.
Но научить правильно не всегда получается.
автоматически рождающиеся объекты типа блокирующего loading-on-demand. И синглтоны типа Майерса.
автоматически уничтожающиеся объекты под smart_ptr. И подсчёт ссылок.
автоматически регистрирующиеся получатели сообщений. И unbound рассылку сообщений.
автоматически создающиеся нетривиальные объекты со статическим storage duration. И вообще бурную деятельность до main().
мгновенность, нераспределенность, модель exception, lower-order programming.
Но научить правильно не всегда получается.
no subject
Date: May. 31st, 2006 18:51 (UTC)И те - именно один на чанк?
Уважуха. Давай ты еще меня добьешь и скажешь, что пулов не было вообще. И патиклы летали группами по ровно 20.
no subject
Date: May. 31st, 2006 20:07 (UTC)Пулы были. Кэши были.
Размеры партикл систем были известны, конечно, заранее.
Операторов new во время собственно retail игры, насколько я помню, таки не было совсем. Но могу легонько приврать.
Впрочем, assertы вроде ближе к релизу не срабатывали.
no subject
Date: Jun. 1st, 2006 07:37 (UTC)no subject
Date: Jun. 1st, 2006 07:53 (UTC)Даже стеки были. На каждый поток.
Я не говорю, что каждый выделил себе по максимуму на всякий случай (хотя, кстати, в каких-то местах это близко к правде).
Я говорю, что максимум этот определен, и суммарный максимум тоже и от него пляшешь.
Когда я говорю "динамическое выделение", я имею ввиду Васю Пупкина с немытой попой, когда он делает v.push_back() или создает какой-нибудь string или того хуже hashmap.
Ну или там std::vector в функции просто чтобы ему напомнили, если он индексы неправильно посчитает, а boost::array не подходит, потому что требует фиксированного размера.