Информация об изменениях

Сообщение Re[2]: c++11 быстрый делегат от 17.07.2017 15:27

Изменено 17.07.2017 15:27 Barbar1an

Re[2]: c++11 быстрый делегат
Здравствуйте, Barbar1an, Вы писали:

B>похоже я погорячился, там при создании память выделяется поэтому этот вариант делегатов сильно тормознее по сравнению с оригиналом


в общем вот бенчмарки

FastDelegate ctor: 0.001089
C++14 Delegate ctor (my adaptive allocator): 0.012582
C++14 Delegate ctor (new allocator): 0.207923

FastDelegate call: 0.083223
C++14 Delegate call (my adaptive allocator): 0.084994
C++14 Delegate call (new allocator): 0.083777

из них видно что время создания у с++14 с вы делением памяти через new ужасно долгое
я сделал умнее, но все равно в 12 раз медленнее оригинала(умнее значит что мы храним 8 байт которые использем для хранения данных если они помещаются или для хранения указателя на память в куче)

скорость вызова везде похожая
Re[2]: c++11 быстрый делегат
Здравствуйте, Barbar1an, Вы писали:

B>похоже я погорячился, там при создании память выделяется поэтому этот вариант делегатов сильно тормознее по сравнению с оригиналом


в общем вот бенчмарки

FastDelegate ctor: 0.001089 (не поддерживает лямбды)
C++14 Delegate ctor (my adaptive allocator): 0.012582
C++14 Delegate ctor (new allocator): 0.207923

FastDelegate call: 0.083223 (не поддерживает лямбды)
C++14 Delegate call (my adaptive allocator): 0.084994
C++14 Delegate call (new allocator): 0.083777

из них видно что время создания у с++14 с вы делением памяти через new ужасно долгое
я сделал умнее, но все равно в 12 раз медленнее оригинала(умнее значит что мы храним 8 байт которые использем для хранения данных если они помещаются или для хранения указателя на память в куче)

скорость вызова везде похожая