Здравствуйте, Andrew S, Вы писали:
AS>Ну да, а потом появляются монстры типа Unreal2002....
AS>Если есть возможность сделать быстрее — надо это делать (очевидно, когда требования по размеру уж очень важны, можно и нужно стараться не использовать рантайм), размер нонче не считается особенно важным, тем более что в рантайме есть много приятный функций, например, sprintf (хотя, конечно, приятно, если бинарник маленький). Иначе зачем это все вообще — и уйти писать на VB....
Здравствуйте, Алекс, Вы писали:
А>Здравствуйте, MaximE, Вы писали:
А>хъ
ME>>А не по-умолчанию? Реальность, мой друг (заметь, ни капли иронии), такова, что память — это ресурс, полностью контролируемый операционной системой. Из этого вытекает, что невозможно написать оператор new или malloc, который бы выделял память, не пользуясь средствами операционной системы (HeapAlloc, VirtualAloc, AllocateUserPhysicalPages) напрямую или косвенно.
А>Дорогой, Максим. Если ты не отличаешь HeapAlloc от VirtualAlloc, то о чем вообще может идти речь?
ME>>P.S. Конечно, можно написать что-то, что будет работать в нулевом кольце и будет выдавать нам память.
А>Какая разница на каком кольце, главное чтобы адрес выделенной памяти был меньше 0х7FFEFFFF.
[]
WH>>HeapAlloc/HeapFree — Это менеджер памяти. WH>>new/delete — Это операторы языка которые кроме выделения/освобождения памяти вызывают конструкторы/деструктор. Они(new/delete) могут быть реализованы через HeapAlloc/HeapFree.
WH>>Почувствуйте разницу.
А>Не надо меня учить как жить!
Ага, лутше помогите материально.
А>Вопрос поставлен абсолютно некорректно, и ежели он бы меня заинтересовал, я бы высказался более подробно.
Ежели не заинтересовал, зачем отвечать?
Даже ежели вопрос не корректен (а ето действительно так), то ето не повод некорректно на него отвечать.
А>Мой ответ означает лишь, то что сабжевые операторы по умолчанию всегда используют средства выделения памяти, предоставляемые системой. HeapAlloc, HeapFree и др. как раз и есть эти средства.
Ну вот, поругались, друг другу нулей понаставили... А в результате? Может, проще было тест работы с хипом написать, и проверить на различных компилерах, системах etc. Привести эти данные — вот тогда было бы о чем поговорить, это и правда интересно... Кстати, где то уже подобная статья проскакивала. Но давно дело было.
Здравствуйте, Andrew S, Вы писали:
AS>Ну вот, поругались, друг другу нулей понаставили... А в результате? Может, проще было тест работы с хипом написать, и проверить на различных компилерах, системах etc. Привести эти данные — вот тогда было бы о чем поговорить, это и правда интересно... Кстати, где то уже подобная статья проскакивала. Но давно дело было.
Судя по заданному вопрсу человек не понимает что езть такое new и delete в принципе. Иначе етот вопрос задавался бы несколько по иному. И поетому я посчитал, что отвечать ему в форме сабж: equal несколько не правильно. На что я и обратил внимание (и не только я, кстати). А товарисч Алекс видать глыбоко абыделся и атамстил. Ну, да ето его дело.
AS>Успехов и давайте жить дружно.
хъ
P>Судя по заданному вопрсу человек не понимает что езть такое new и delete в принципе. Иначе етот вопрос задавался бы несколько по иному. И поетому я посчитал, что отвечать ему в форме сабж: equal несколько не правильно.
Несколько не правильно нуля не стоит.
P>На что я и обратил внимание (и не только я, кстати). А товарисч Алекс видать глыбоко абыделся и атамстил. Ну, да ето его дело.
Да не то чтобы очень глубоко. На кого обижаться-то? И на что?
P>Ага
Если бы ты по меньше нулей ставил, все и так бы жили дружно.
[]
P>>Судя по заданному вопрсу человек не понимает что езть такое new и delete в принципе. Иначе етот вопрос задавался бы несколько по иному. И поетому я посчитал, что отвечать ему в форме сабж: equal несколько не правильно.
А>Несколько не правильно нуля не стоит.
Полуправда суть хужее чем не правда. (с) не помню, народ наверное.
P>>На что я и обратил внимание (и не только я, кстати). А товарисч Алекс видать глыбоко абыделся и атамстил. Ну, да ето его дело.
А>Да не то чтобы очень глубоко. На кого обижаться-то? И на что?
Зачем тогда изволили _мне_ нули поставить? В чем я не прав?
P>>Ага
А>Если бы ты по меньше нулей ставил, все и так бы жили дружно.
Ну, ежели выделения\добавления не так много, или память там экономить, то наверное покатит. А иначе, как по твоему, зачем такое понятие как Memory Pool?
Здравствуйте, Patalog, Вы писали:
P>Ну, ежели выделения\добавления не так много, или память там экономить, то наверное покатит. А иначе, как по твоему, зачем такое понятие как Memory Pool?
Pool — понятие для тех, кто считает что тот или иной метод выделения памяти по их мнению медленный
Как тут правильно заметили, все эти разговорчики никчему пока не будет общего теста на производительнось
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Patalog, Вы писали:
P>>Ну, ежели выделения\добавления не так много, или память там экономить, то наверное покатит. А иначе, как по твоему, зачем такое понятие как Memory Pool?
А>Pool — понятие для тех, кто считает что тот или иной метод выделения памяти по их мнению медленный
Пацчему именно выделение? На удаление объектов тоже стоит обратить внимание.
А>Как тут правильно заметили, все эти разговорчики никчему пока не будет общего теста на производительнось
Каккого такого общего теста производительности? operator new vs HeapAlloc? Ето то же самое что my_super_puper_alloc vs HeapAlloc. Еще раз, new бывает разный. Тогда уж надо говорить operator new, который в стандартной поставке MS Visual C++, который релизный, который ... (нужное вписать) vs HeapAlloc.