Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Rational Type Performance

Boost , Chapter 1. Boost.Multiprecision , Performance Comparison

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Обратите внимание, что эти тесты тщательно разработаны для проверки производительности основных алгоритмов, а не распределения памяти или копирования переменных. Как обычно, результаты производительности должны приниматься со здоровой дозой скептицизма, а реальная производительность может широко варьироваться в зависимости от специфики программы. В каждой таблице относительные времена даются первыми, при этом лучшему исполнителю присваивается оценка 1. Общее фактическое время приведено в скобках, измеренных в секундах для 500 000 операций.

Table 1.66. Operator +

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

5.89417 (18.4116)

6.87256 (47.4698)

6.65008 (107.715s)

6.53801 (256.244s)

mpq_rational

1(3.1237)

1(6.90715s)

1(16.1975)

1(39.1929)


Table 1.67. Operator +(int)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

3.62367 (2.46488s)

4.18291 (2.94603s)

4.726 (3.74866s)

6.1388 (5.56817s)

mpq_rational

1(0,680215s)

1(0,704303s)

1(0,7932s)

1(0,907046s)


Table 1.68. Operator +(unsigned long long)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

1.1527 (2.6378s)

1.31751 (3.09863s)

1.58996 (4.00714s)

2.15642 (5.75702s)

mpq_rational

1(2.28837)

1(2.35189) [95)

1(2.52028)

1(2.66971s)


Table 1.69. Operator +=(unsigned long long)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

1.18436 (2.7059)

1.32279 (3.11099s)

1.61398 (4.05389s)

2.20048 (5.84623s)

mpq_rational

1(2.2847)

1(2.35183s)

1(2.51174s)

1(2.6568)


Table 1.70. Operator -

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

5.81893 (18.3457)

6.82209 (47.1928)

6.64143 (107.498s)

6.51362 (255.137s)

mpq_rational

1(3.15277)

1(6.91765s)

1(16.1859)

1(39.1698s)


Table 1.71. Operator -(int)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

3.72441 (2.48756s)

4.27663 (2.98713s)

4.62109 (3.72114s)

6.17605 (5.56503s)

mpq_rational

1(0,667908s)

1(0,698479s)

1(0,805252s)

1(0,901066s)


Table 1.72. Operator -(unsigned long long)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

1.15627 (2.63239s)

1.32096 (3.12092s)

1.61044 (4.00106s)

2.19378 (5.7644)

mpq_rational

1(2.27663s)

1(2.36262s)

1(2.48445s)

1(2.62761s)


Table 1.73. Operator -=(unsigned long long)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

1.1984 (2.73444)

1.34141 (3.15698s)

1.64159 (4.06997s)

2.23017 (5.88108s)

mpq_rational

1(2.28174s)

1(2.35348s)

1(2,47929)

1(2.63706s)


Table 1.74. Operator *

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

5.4306 (32.5882s)

6.91805 (89.9436s)

6.94556 (207.307s)

6.88704 (492.151s)

mpq_rational

1(6.00084)

1(13.0013s)

1(29.8475s)

1(71.4604s)


Table 1.75. Operator *(int)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

2.12892 (2.51376s)

2.47245 (3.07841s)

2.86832 (3.93619s)

3.94086 (6.02565s)

mpq_rational

1(1.18077)

1(1.24508s)

1(1.3723s)

1(1.52902s)


Table 1.76. Operator *(unsigned long long)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

1.32254 (5.43565s)

1.56078 (6.73163s)

1.97701 (9.32522s)

2.85404 (15.1573s)

mpq_rational

1(4.11002s)

1(4.313s)

1(4.71682)

1(5.31082s)


Table 1.77. Operator *=(unsigned long long)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

6.29806 (58.1188s)

6.30556 (59.5076)

6.3385 (62.1007s)

6.55345 (67.6905s)

mpq_rational

1(9.22804s)

1(9.43733s)

1(9.79739s)

1(10.329)


Table 1.78. Operator /

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

4.4269 (66.8031)

6.40103 (173.527s)

6.32347 (348.193s)

6.61148 (824.063s)

mpq_rational

1(15.0903s)

1(27.1093s)

1(55.0637s)

1(124.641)


Table 1.79. Operator /(int)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

1.78772 (2.50984s)

2.10623 (3.10606s)

2.46986 (3.99358s)

3.37428 (5.96678s)

mpq_rational

1(1.40393s)

1(1.4747)

1(1.61693s)

1(1.76831)


Table 1.80. Operator /(unsigned long long)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

1.29695 (5.45454s)

1.55248 (6.85353s)

1.93237 (9.28765s)

2.75211 (14.8541s)

mpq_rational

1(4.20568)

1(4.41458)

1(4.80635)

1(5.39734s)


Table 1.81. Operator /=(unsigned long long)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

6.19401 (58.4278s)

6.20135 (59.643s)

6.21327 (62.0338s)

6.40576 (67.6778s)

mpq_rational

1(9.43295s)

1(9.61774s)

1(9.98407s)

1(10.5652)


Table 1.82. Operator construct

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

1(0.00978288s)

1(0,0100574s)

1(0.0101393s)

1(0.0101847s)

mpq_rational

39.1516 (0.383015s)

38.3523 (0.385725s)

37.5812 (0.381048s)

37.6007 (0.382953s)


Table 1.83. Operator construct(unsigned)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

1(0.0548151s)

1(0,0557542s)

1(0,055825s)

1(0,0552808s)

mpq_rational

7.21073 (0.395257s)

7.1016 (0.395944s)

7.02046 (0.391917)

7.16881 (0.396297s)


Table 1.84. Operator construct(unsigned long long)

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

1(0.0605156s)

1(0.0616657s)

1(0.0592056s)

1(0,0603081s)

mpq_rational

35.1604 (2.12775)

34.7575 (2.14335s)

35.7232 (2.11502s)

35.0437 (2.11342s)


Table 1.85. Operator str

обратный

128 бит

256 бит

512 бит

1024 бит

cpp_rational

5.48898 (0.0208949s)

8.49668 (0.0546688s)

10.107 (0.121897s)

10.5339 (0.310584s)

mpq_rational

1(0.0038067s)

1(0.00643413s)

1(0.0120606s)

1(0.0294843s)


Тестовый код был скомпилирован с помощью Microsoft Visual Studio 2010 со всеми включенными оптимизациями (/Ox), и использовался MPIR-2.3.0 иMPFR-3.0.0. Тесты проводились на 32-разрядной машине Windows Vista.


PrevUpHomeNext

Статья Rational Type Performance раздела Chapter 1. Boost.Multiprecision Performance Comparison может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Performance Comparison ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 03:26:10/0.0072648525238037/1