Re[2]: [C++] быстрый аллокатор
От: _nn_ www.nemerleweb.com
Дата: 02.04.05 07:00
Оценка:
Здравствуйте, _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.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: [C++] быстрый аллокатор
От: Аноним  
Дата: 02.04.05 12:00
Оценка:
Здравствуйте, _nn_, Вы писали:

__>Здравствуйте, _Winnie, Вы писали:

__>Не очень ясно почему функции принимают unsigned list_num, а в структуре хранится unsigned char list_num.

Мне нужно было уместить в 4-байтовую структуру is_malloced булевский флаг и целое число (номер списка свободных блоков) Если бы я отвел в структуре 4 байта под номер списка, то вместе с булевским флажком она бы уже занимала больше 4-х байт.
Re[4]: [C++] быстрый аллокатор
От: _nn_ www.nemerleweb.com
Дата: 02.04.05 13:34
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, _nn_, Вы писали:


__>>Здравствуйте, _Winnie, Вы писали:

__>>Не очень ясно почему функции принимают unsigned list_num, а в структуре хранится unsigned char list_num.

А>Мне нужно было уместить в 4-байтовую структуру is_malloced булевский флаг и целое число (номер списка свободных блоков) Если бы я отвел в структуре 4 байта под номер списка, то вместе с булевским флажком она бы уже занимала больше 4-х байт.


unsigned short чем не подошел тогда ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: [C++] быстрый аллокатор
От: Relict_Marauder  
Дата: 05.04.05 12:57
Оценка:
Здравствуйте, _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 опрдеелён в куче подключаемых билиотек. И линковка не происходит.

Как быть ?
... << RSDN@Home 1.1.4 beta 4 rev. 0>>
Re[3]: [C++] быстрый аллокатор
От: _Winnie Россия C++.freerun
Дата: 06.04.05 03:54
Оценка:
Здравствуйте, 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
Re: [C++] быстрый аллокатор
От: Aleх  
Дата: 24.04.09 15:00
Оценка:
Здравствуйте, _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 не выводит сообщения об утечках памяти).
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.