![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
PerformanceBoost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 30. Boost.Random
|
генератор |
M rn/sec |
Время на случайное число [nsec] |
Относительная скорость по сравнению с самой быстрой [%] |
---|---|---|---|
рэнд48 |
149.254 |
6.7 |
59% |
Lrand48 время выполнения |
158.73 |
6.3 |
63% |
minstd_rand0 |
22.9885 |
43.5 |
9% |
minstd_randminstd_rand [ORIG_END] --> |
22.0751 |
45.3 |
8% |
Экуайер комбинированный |
42.735 |
23.4 |
17% |
kreutzer1986kreutzer1986 [ORIG_END] --> |
151.515 |
6.6 |
60% |
taus88 |
250 |
4 |
100% |
knuth_b |
19.6078 |
51 |
7% |
Hellekalek1995 (инверсивный) |
4.54545 |
220 |
1% |
mt11213b |
204.082 |
4.9 |
81% |
mt19937mt19937 [ORIG_END] --> |
204.082 |
4.9 |
81% |
mt19937_64 |
60.6061 |
16.5 |
24% |
_g_фибоначчи607тег_фибоначчи607 [ORIG_END] --> |
126.582 |
7.9 |
50% |
lagged_fibonacci1279 |
129.87 |
7.7 |
51% |
lagged_fibonacci2281 |
129.87 |
7.7 |
51% |
lagged_fibonacci3217 |
131.579 |
7.6 |
52% |
lagged_fibonacci4423 |
128.205 |
7.8 |
51% |
lagged_fibonacci9689 |
128.205 |
7.8 |
51% |
lagged_fibonacci19937 |
131.579 |
7.6 |
52% |
lagged_fibonacci23209 |
131.579 |
7.6 |
52% |
lagged_fibonacci44497 |
131.579 |
7.6 |
52% |
subtract_with_carry |
147.059 |
6.8 |
58% |
subtract_with_carry_01 |
105.263 |
9.5 |
42% |
ranlux3 |
15.748 |
63.5 |
6% |
ranlux4 |
9.11577 |
109.7 |
3% |
ranlux3_01 |
10.5708 |
94.6 |
4% |
ranlux4_01 |
6.27353 |
159.4 |
2% |
ranlux64_3 |
15.8983 |
62.9 |
6% |
ranlux64_4 |
9.14913 |
109.3 |
3% |
ranlux64_3_01 |
10.9409 |
91.4 |
4% |
ranlux64_4_01 |
6.32911 |
158 |
2% |
ranlux24 |
15.1976 |
65.8 |
6% |
ranlux48 |
8.88099 |
112.6 |
3% |
mt19937ar.c |
111.111 |
9 |
44% |
Table 30.14. Basic Generators (Windows)
генератор |
M rn/sec |
Время на случайное число [nsec] |
Относительная скорость по сравнению с самой быстрой [%] |
---|---|---|---|
рэнд48 |
152.672 |
6.55 |
64% |
Lrand48 время выполнения |
24.3724 |
41.03 |
10% |
minstd_rand0 |
39,8248 |
25.11 |
16% |
minstd_randminstd_rand [ORIG_END] --> |
39.0778 |
25.59 |
16% |
Экуайер комбинированный |
16.7813 |
59.59 |
7% |
kreutzer1986kreutzer1986 [ORIG_END] --> |
89.0472 |
11.23 |
37% |
taus88 |
237.53 |
4.21 |
100% |
knuth_b |
30,8166 |
32.45 |
12% |
Hellekalek1995 (инверсивный) |
5.28457 |
189.23 |
2% |
mt11213b |
237.53 |
4.21 |
100% |
mt19937mt19937 [ORIG_END] --> |
221.239 |
4.52 |
93% |
mt19937_64 |
91.5751 |
10,92 |
38% |
_g_фибоначчи607тег_фибоначчи607 [ORIG_END] --> |
142.45 |
7.02 |
59% |
lagged_fibonacci1279 |
142.45 |
7.02 |
59% |
lagged_fibonacci2281 |
145.56 |
6,87 |
61% |
lagged_fibonacci3217 |
149.031 |
6.71 |
62% |
lagged_fibonacci4423 |
142.45 |
7.02 |
59% |
lagged_fibonacci9689 |
145.773 |
6.86 |
61% |
lagged_fibonacci19937 |
142.45 |
7.02 |
59% |
lagged_fibonacci23209 |
145.773 |
6.86 |
61% |
lagged_fibonacci44497 |
142.45 |
7.02 |
59% |
subtract_with_carry |
136.24 |
7.34 |
57% |
subtract_with_carry_01 |
90.3342 |
11.07 |
38% |
ranlux3 |
13.1631 |
75,97 |
5% |
ranlux4 |
7.60398 |
131.51 |
3% |
ranlux3_01 |
8.62738 |
115.91 |
3% |
ranlux4_01 |
4.99625 |
200.15 |
2% |
ranlux64_3 |
13.1631 |
75,97 |
5% |
ranlux64_4 |
7.5861 |
131.82 |
3% |
ranlux64_3_01 |
8.63931 |
115,75 |
3% |
ranlux64_4_01 |
5.01958 |
199.22 |
2% |
ranlux24 |
13.1631 |
75,97 |
5% |
ranlux48 |
7.5861 |
131.82 |
3% |
mt19937ar.c |
200.401 |
4.99 |
84% |
Обратите внимание, что генераторы Fibonacci и ranlux_01 производят числа с плавающей запятой, в то время как все остальные производят целые числа.
Table 30.15. Distributions (Linux)
[М рн/сек] |
minstd_randminstd_rand [ORIG_END] --> |
kreutzer1986kreutzer1986 [ORIG_END] --> |
mt19937mt19937 [ORIG_END] --> |
_g_фибоначчи607тег_фибоначчи607 [ORIG_END] --> |
---|---|---|---|---|
uniform_int |
16.2338 |
48,7805 |
21.5517 |
23.8663 |
uniform_smallint |
18.9036 |
114.943 |
25.3165 |
74,6269 |
Бернулли |
21.322 |
85.4701 |
23.2558 |
125 |
Геометрия |
9.42507 |
11.7925 |
7.38007 |
15.528 |
биномиал |
13.4953 |
29.7619 |
12.7877 |
38,7597 |
отрицательный_биномиальный |
1.69549 |
2.29305 |
1.65563 |
2.45098 |
Пуассон |
13.7552 |
34.1297 |
13.369 |
43,8596 |
uniform_real |
18.2815 |
44.4444 |
19.8413 |
119.048 |
uniform_01 |
21.692 |
72.4638 |
17.1233 |
116.279 |
треугольник |
15.2207 |
29.3255 |
11.9904 |
51.2821 |
экспоненциальный |
10.5374 |
17.0068 |
10.8814 |
22.2222 |
нормальный полярный |
8.82613 |
12.9199 |
9.00901 |
14.771 |
логнормальный |
6.15764 |
7.50188 |
5.68182 |
8.61326 |
Чи в квадрате |
2.07297 |
2.8401 |
2.10926 |
3.07409 |
Коши |
9.18274 |
14.8368 |
7.37463 |
17.3913 |
Рыбак f |
1.04646 |
1.47449 |
1.08026 |
1.61186 |
Студент т |
1.60927 |
2.18245 |
1.65207 |
2.34192 |
Гамма |
2.1097 |
2.87439 |
2.13538 |
3.01296 |
Вейбулл |
4.73709 |
5.77367 |
4.20521 |
6.33312 |
Экстремальное значение |
7.40192 |
10.101 |
6.23441 |
11.5741 |
uniform_on_sphere |
2.22222 |
2.78552 |
2.28311 |
2.7933 |
Table 30.16. Distributions (Windows)
[М рн/сек] |
minstd_randminstd_rand [ORIG_END] --> |
kreutzer1986kreutzer1986 [ORIG_END] --> |
mt19937mt19937 [ORIG_END] --> |
_g_фибоначчи607тег_фибоначчи607 [ORIG_END] --> |
---|---|---|---|---|
uniform_int |
27.049 |
79.1139 |
29.8151 |
34,8432 |
uniform_smallint |
31.736 |
90.3342 |
33.9213 |
59.9161 |
Бернулли |
25.641 |
56.2114 |
27.049 |
62.8141 |
Геометрия |
12.8717 |
18.9645 |
14.6671 |
18.5805 |
биномиал |
18.2116 |
32.2165 |
19.8491 |
29.4118 |
отрицательный_биномиальный |
2.79065 |
3.99138 |
2.73358 |
3.72898 |
Пуассон |
20.0321 |
37.7074 |
18.9645 |
36.4299 |
uniform_real |
27.6319 |
78.1861 |
26.4901 |
71.2251 |
uniform_01 |
36,63 |
95.6938 |
26.3783 |
85.4701 |
треугольник |
19.4856 |
43,8982 |
19.425 |
36,8324 |
экспоненциальный |
17.0474 |
32.0513 |
18.005 |
28.6205 |
нормальный полярный |
14.4051 |
19.7863 |
13.1354 |
20,7426 |
логнормальный |
10.8472 |
13.6968 |
10.3563 |
13.7855 |
Чи в квадрате |
3.53957 |
4,95 |
3.44448 |
4.83442 |
Коши |
15.1906 |
23.5682 |
14.9768 |
23.31 |
Рыбак f |
1.74951 |
2.45417 |
1.69854 |
2.38743 |
Студент т |
2.63151 |
3.75291 |
2.53872 |
3.51432 |
Гамма |
3.50275 |
4,9729 |
3.35087 |
4.75195 |
Вейбулл |
8.96539 |
11.9161 |
9.09256 |
11.6754 |
Экстремальное значение |
12.3274 |
18.4196 |
12.5945 |
17.5623 |
uniform_on_sphere |
2.83688 |
3.58038 |
2.73898 |
3.60101 |
Статья Performance раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 30. Boost.Random может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Chapter 30. Boost.Random ::
реклама |