Здравствуйте, _Winnie, Вы писали:
_W>Здравствуйте, _Winnie, Вы писали: _W>>Ускоряет STL, например со строками, раза в два, (если не STLport, который использует свой аллокатор) _W>>STL VC71 + мой аллокатор — быстрее чем просто STLport
_W>>http://rsdn.ru/File/23256/winnie_alloc.rar
_W>Уфф, обновил. Текущая версия — 0.5. Качаем, тестируем, и не боимся, что new/delete — медленные операции, а dinkumware STL — тормоз. _W>http://rsdn.ru/File/23256/winnie_alloc05.rar
Не очень ясно почему функции принимают unsigned list_num, а в структуре хранится unsigned char list_num.
Здравствуйте, _nn_, Вы писали:
__>Здравствуйте, _Winnie, Вы писали: __>Не очень ясно почему функции принимают unsigned list_num, а в структуре хранится unsigned char list_num.
Мне нужно было уместить в 4-байтовую структуру is_malloced булевский флаг и целое число (номер списка свободных блоков) Если бы я отвел в структуре 4 байта под номер списка, то вместе с булевским флажком она бы уже занимала больше 4-х байт.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, _nn_, Вы писали:
__>>Здравствуйте, _Winnie, Вы писали: __>>Не очень ясно почему функции принимают unsigned list_num, а в структуре хранится unsigned char list_num.
А>Мне нужно было уместить в 4-байтовую структуру is_malloced булевский флаг и целое число (номер списка свободных блоков) Если бы я отвел в структуре 4 байта под номер списка, то вместе с булевским флажком она бы уже занимала больше 4-х байт.
Здравствуйте, _Winnie, Вы писали:
_W>Здравствуйте, _Winnie, Вы писали: _W>>Ускоряет STL, например со строками, раза в два, (если не STLport, который использует свой аллокатор) _W>>STL VC71 + мой аллокатор — быстрее чем просто STLport
_W>>http://rsdn.ru/File/23256/winnie_alloc.rar
_W>Уфф, обновил. Текущая версия — 0.5. Качаем, тестируем, и не боимся, что new/delete — медленные операции, а dinkumware STL — тормоз. _W>http://rsdn.ru/File/23256/winnie_alloc05.rar
Тупой вопрос, о всё же.
не могу собрать проект с использованием редифиниции new/delete
проект мфцэшный
ошибки следующиего рода
LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in new_delete.obj
при детеальном рассмотрнии оказваеться что new опрдеелён в куче подключаемых билиотек. И линковка не происходит.
Здравствуйте, Relict_Marauder, Вы писали:
R_M>не могу собрать проект с использованием редифиниции new/delete R_M>проект мфцэшный R_M>ошибки следующиего рода
R_M>LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in new_delete.obj R_M> при детеальном рассмотрнии оказваеться что new опрдеелён в куче подключаемых билиотек. И линковка не происходит.
R_M> Как быть ?
Честно говоря — не знаю что делать, с MFC не работал. Наверное, лучше это спросить на mfc или cpp.applied подфоруме — что делать, если сразу две либы переопределяют operator new. Или как это запретить в MFC.
Правильно работающая программа — просто частный случай Undefined Behavior
Здравствуйте, _Winnie, Вы писали:
_W>Работает в 3-4 раза быстрей стандатного operator new и malloc. Однопоточный, если надо — сами заворачивайте в CriticalSection (и даже в этом случае он работает гораздо быстрей) _W>Ускоряет STL, например со строками, раза в два, (если не STLport, который использует свой аллокатор) _W>STL VC71 + мой аллокатор — быстрее чем просто STLport
_W>http://rsdn.ru/File/23256/winnie_alloc.rar
Я попробовал использовать. Работает довольно быстро. Но VS сообщает об утечках памяти, хотя без использования winnie_alloc их как бы нет (VS не выводит сообщения об утечках памяти).