![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Rational Type PerformanceBoost , Chapter 1. Boost.Multiprecision , Performance Comparison
|
обратный |
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.
Статья Rational Type Performance раздела Chapter 1. Boost.Multiprecision Performance Comparison может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Performance Comparison ::
реклама |