![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Iron Bug |
![]()
Сообщение
#1
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
Хочу представить вам библиотеку, с которой я познакомилась на новой работе: ACE.
Я, конечно, сразу решила провести тестирование новой для меня библиотеки и сравнить её с boost. Я сравнивала эфффективность работы ACE_Cached_Allocator и boost::pool: замеряла время, требуемое на заполнение пула элементами и очистку пула (по одному элементу). Я написала тест сравнения работы с пулами памяти. И результат меня поразил: ACE не только быстрее буста, но и эффективнее использует память! Если интересно, вот тест, который я написала (тест под линь, венды у меня сейчас просто нет в наличии, но можно его быстро перекроить под венду, если заменить блок с установкой риалтайм приоритета у потока), Раскрывающийся текст
То есть, по памяти boost занял 1928499200 байт, а ACE - всего 854814720 байт. Я позже приведу данные, их сейчас нет под рукой - забыла на работе, взяла не те данные ![]() Но по памяти выигрыш был в 2.25 раза, а по скорости, при профилированной оптимизации, скорость увеличивалась от 0.6 до 0.8. Я ещё буду тестировать ACE, ибо меня интересует выбор самой оптимальной библиотеки для работы. Но этот результат меня удивил и неожиданно поколебал мою приверженность к boost'у. Поэтому я решила написать об этом здесь. Может, кто-то проверит тест под вендой: было бы интересно узнать результаты. Правда, я не знаю, как под вендой измерять максимум используемой памяти. Но хотя бы скорость можно сравнить. Сообщение отредактировал Iron Bug - 19.12.2013, 19:44 |
|
|
![]() |
Iron Bug |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
да, я кое-что нарыла на торрентах.
она действительно очень хорошо заточена под многопроцессорные системы и распараллеливание. очень эффективно работает на серверах с несколькими процессорами. я пока использую и ACE, и boost. где-то побеждает одна библиотека, где-то - другая. на каждый случай я пишу мелкие тесты и сравниваю. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 7.4.2025, 23:13 |