![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
The Overhead in the Number Class WrapperBoost , Chapter 1. Boost.Multiprecision , Performance Comparison
|
Тип |
Оценка функции Бесселя |
Нецентральная оценка Т |
---|---|---|
< |
1.0 (0.016s) |
1.0(0.46) |
< |
1.2 (0.019s) |
1.0(0.46) |
< |
1.2 (0.019s) |
1.7 (0.79s) |
Как видите, есть ли накладные расходы, и насколько они велики, зависит от реальной ситуации, но накладные расходы в любом случае малы. Шаблоны экспрессии обычно добавляют большие накладные расходы, чем сложнее становится выражение, благодаря логике выяснения того, как лучше распаковать и оценить выражение, но, конечно, это также ситуация, когда вы экономите больше времени. Для «тривиального» бэкэнда, такого как этот, экономия времени не имеет никакой пользы, но для более крупных типов это становится большей победой.
Следующая таблица сравнивает арифметику, используя либо<long
long
>, либо<number<arithmetic_backend<longlong>>
>длятеста строителя вороной-диаграммы:
Тип |
Относительное время |
---|---|
< |
1.0(0.0823s) |
< |
1.05 (0.0875) |
Этот тест включает в себя в основном создание большого количества временных интервалов и выполнение небольшого количества арифметики на них с очень небольшой разницей в производительности между нативным и «завернутым» типами.
Тестовый код был составлен с помощью Microsoft Visual Studio 2010 со всеми оптимизациями, включенными (/Ox), и использовался MPIR-2.3.0 иlibtommath-0.42.0. Тесты проводились на 32-разрядной машине Windows Vista.
Статья The Overhead in the Number Class Wrapper раздела Chapter 1. Boost.Multiprecision Performance Comparison может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Performance Comparison ::
реклама |