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

Performance

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 30. Boost.Random

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

Для некоторых людей производительность генерации случайных чисел является важным фактором при выборе генератора случайных чисел или конкретной функции распределения. На этой странице представлены многочисленные тесты производительности с широким спектром генераторов и дистрибутивов, доступных в библиотеке повышения.

Производительность была оценена на Intel(R) Core(TM) i7 CPU Q 840 @ 1.87GHz, 1867 Mhz с Visual C++ 2010, Microsoft Windows 7 Professional и с gcc 4.4.5, Ubuntu Linux 2.6.35-25-generic. Скорость сообщается в миллионах случайных чисел в секунду (M rn/sec), генерируемых в узком цикле.

Table 30.13. Basic Generators (Linux)

генератор

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



PrevUpHomeNext

Статья Performance раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 30. Boost.Random может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Chapter 30. Boost.Random ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 16:26:55/0.030612945556641/1