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

Comparing Different Compilers

Boost , Math Toolkit 2.5.0 , Chapter 16. Performance

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

Запустив наш набор тестов производительности несколько раз, мы можем сравнить эффект различных компиляторов: как и следовало ожидать, различия, как правило, невелики по сравнению с отключением внутреннего использования<long double>. Тем не менее, все еще есть преимущества, особенно от некоторых коммерческих предложений:

Table 16.5. Compiler Comparison on Windows x64

Функция

Microsoft Visual C++ версия 14.0
повышение 1,61

GNU C++ версия 5.3.0
повышение 1,61

GNU C++ версия 5.3.0
boost 1.61
promote_double

Intel C++ C++0x версия 1600
повышение 1,61

assoc_laguerre

1.16
(208ns)

1.21
(217н)

1.06
(190нс)

1.00
(180нс)

assoc_legendre

1.57
(151ns)

1.80
(173н)

1.16
(111нс)

1.00
(96нс)

бета

1.74
(176н)

3,78
(382н)

2.17
(219ns)

1.00
(101нс)

бета (неполный)

1.44
(520н)

3.03
(1096н)

1.84
(666ns)

1.00
(362н)

cbrt

3.21
(45ns)

3.43
(48н)

3.07
(43нс)

1.00
(14н)

cyl_bessel_i

1.11
(404нс)

2,78
(1016нс)

1.21
(442ns)

1.00
(365ns)

cyl_bessel_i

1.29
(261нс)

3.16
(638ns)

1.22
(247н)

1.00
(202ns)

cyl_bessel_j

1.19
(488ns)

2.06
(841нс)

1.25
(513нс)

1.00
(409ns)

cyl_bessel_j

1.36
(103н)

2.39
(182н)

1.47
(112нс)

1.00
(76н)

cyl_bessel_k

1.04
(747ns)

9.43
(6743ns)

1.03
(734ns)

1.00
(715н)

cyl_bessel_k

1.26
(419ns)

10.49
(3494ns)

1.10
(367н)

1.00
(333нс)

cyl_neumann

16.76
(11212ns)

2.01
(1346ns)

1.00
(669ns)

15.35
(10266ns)

cyl_neumann (целый порядок)

1.00
(225н)

1.79
(403ns)

1.24
(279ns)

1.02
(229ns)

дигамма

1.20
(24ns)

3,75
(75н)

2.15
(43нс)

1.00
(20ns)

ellint_1

1.87
(329ns)

1.99
(350н)

1.32
(232ns)

1.00
(176н)

ellint_1 (полный)

2.18
(61нс)

2,57
(72н)

1,57
(44н)

1.00
(28н)

ellint_2

1,78
(525н)

2.17
(640н)

1.52
(449ns)

1.00
(295ns)

ellint_2 (полный)

2.14
(62н)

2.07
(60нс)

1.24
(36н)

1.00
(29н)

ellint_3

1.94
(1155ns)

2.91
(1733нс)

1.65
(986н)

1.00
(596нс)

ellint_3 (полный)

2.05
(721нс)

3.07
(1079нс)

1.46
(514н)

1.00
(352н)

ellint_rc

1.58
(49ns)

2,68
(83нс)

1,55
(48н)

1.00
(31ns)

ellint_rd

1.75
(332ns)

1.83
(348н)

1.40
(266н)

1.00
(190нс)

ellint_rf

1.69
(71нс)

2.40
(101н)

1.57
(66н)

1.00
(42ns)

ellint_rj

1,91
(344н)

2,96
(532ns)

1.43
(257н)

1.00
(180нс)

erf

1,77
(23нс)

2,92
(38н)

1.92
(25н)

1.00
(13нс)

erfc

1.29
(22ns)

3.41
(58ns)

2.06
(35н)

1.00
(17ns)

экспансия

1.39
(39ns)

3.07
(86н)

2.14
(60нс)

1.00
(28н)

Expint (En)

1.10
(117нс)

2.19
(232ns)

1.38
(146н)

1.00
(106н)

expm1

1.00
(10n)

3.10
(31нс)

2.40
(24н)

1.10
(11нс)

gamma_p

1.29
(192нс)

2,64
(393н)

1.71
(255ns)

1.00
(149ns)

gamma_p_inv

1.36
(706н)

2,47
(1288ns)

1.91
(997ns)

1.00
(521нс)

gamma_q

1.16
(179ns)

2,79
(429ns)

1.61
(248н)

1.00
(154н)

gamma_q_inv

1.37
(703нс)

2.38
(1225ns)

1.89
(971нс)

1.00
(515н)

ibeta

1.34
(520ns)

3.13
(1218ns)

1.83
(711нс)

1.00
(389ns)

ibeta_inv

1.51
(2193нс)

2.81
(4085ns)

2.27
(3303нс)

1.00
(1452нс)

Ибетак

1.29
(518ns)

2,94
(1179ns)

1.73
(694ns)

1.00
(401нс)

ibetac_inv

1.41
(2045нс)

2,80
(4058ns)

1.78
(2572ns)

1.00
(1447ns)

jacobi_cn

1.36
(182ns)

3,72
(499ns)

2.28
(306н)

1.00
(134ns)

jacobi_dn

1.82
(262н)

3.68
(530н)

2.27
(327ns)

1.00
(144нс)

jacobi_sn

1.31
(179ns)

3.73
(511нс)

2.43
(333ns)

1.00
(137ns)

laguerre

1.00
(121н)

1.15
(139ns)

1.04
(126н)

1.10
(133ns)

Легенда

1.07
(364н)

1.16
(396н)

1.00
(340ns)

1.13
(383нс)

Легенда Q

1.00
(427н)

1.20
(512нс)

1.01
(430н)

1.07
(455ns)

lgamma

1.00
(73нс)

3.07
(224н)

1.82
(133ns)

1.05
(77ns)

log1p

1.00
(14н)

2.00
(28н)

1.14
(16нс)

1.00
(14н)

полигамма

1.16
(3773нс)

1.02
(3320ns)

2.24
(7270ns)

1.00
(3246ns)

sph_bessel

1.17
(1005нс)

1.55
(1325ns)

1.09
(931нс)

1.00
(857н)

sph_neumann

1.08
(1827нс)

2.07
(3483ns)

1.00
(1685ns)

1.01
(1702ns)

tgamma

1.31
(77ns)

4.03
(238ns)

2.49
(147ns)

1.00
(59ns)

tgamma (неполный)

1.26
(276н)

2.52
(552н)

1.73
(379ns)

1.00
(219ns)

Тригамма

1.35
(23нс)

2.88
(49ns)

1.41
(24ns)

1.00
(17ns)

Зета

1.34
(121нс)

3.83
(345ns)

2.52
(227ns)

1.00
(90ns)


Table 16.6. Compiler Comparison on linux

Функция

GNU C++ версия 5.3.0
повышение 1,61

GNU C++ версия 5.3.0
boost 1.61
promote_double

assoc_laguerre

1.36
(263ns)

1.00
(194ns)

assoc_legendre

2,55
(258н)

1.00
(101нс)

бета

4.71
(734ns)

1.00
(156н)

бета (неполный)

3.12
(1796нс)

1.00
(575н)

cbrt

2.53
(43нс)

1.00
(17ns)

cyl_bessel_i

3.47
(1410ns)

1.00
(406н)

cyl_bessel_i

3.38
(893н)

1.00
(264н)

cyl_bessel_j

2.69
(1071нс)

1.00
(398ns)

cyl_bessel_j

2.59
(275н)

1.00
(106н)

cyl_bessel_k

6,86
(4589ns)

1.00
(669ns)

cyl_bessel_k

10.17
(3673нс)

1.00
(361нс)

cyl_neumann

2.48
(1478ns)

1.00
(597нс)

cyl_neumann (целый порядок)

2.20
(484н)

1.00
(220ns)

дигамма

1.92
(75н)

1.00
(39н)

ellint_1

1.94
(358ns)

1.00
(185н)

ellint_1 (полный)

1.86
(52нс)

1.00
(28н)

ellint_2

2.32
(805н)

1.00
(347ns)

ellint_2 (полный)

1.71
(60нс)

1.00
(35н)

ellint_3

2.75
(2154ns)

1.00
(783ns)

ellint_3 (полный)

2.23
(1172ns)

1.00
(525н)

ellint_rc

1.57
(77ns)

1.00
(49ns)

ellint_rd

2.23
(520ns)

1.00
(233нс)

ellint_rf

1.51
(95ns)

1.00
(63нс)

ellint_rj

2.33
(481н)

1.00
(206н)

erf

2.60
(39ns)

1.00
(15n)

erfc

2.68
(59ns)

1.00
(22ns)

экспансия

2.47
(94ns)

1.00
(38н)

Expint (En)

1.86
(273нс)

1.00
(147ns)

expm1

1.00
(10n)

1.10
(11нс)

gamma_p

2.42
(492ns)

1.00
(203н)

gamma_p_inv

2.24
(1577ns)

1.00
(704нс)

gamma_q

2.53
(508нс)

1.00
(201нс)

gamma_q_inv

2.45
(1841нс)

1.00
(751ns)

ibeta

2.71
(1715ns)

1.00
(634ns)

ibeta_inv

2.58
(5742ns)

1.00
(2224ns)

Ибетак

2.66
(1736ns)

1.00
(653нс)

ibetac_inv

2.44
(5451ns)

1.00
(2237ns)

jacobi_cn

2.77
(476н)

1.00
(172ns)

jacobi_dn

2.80
(481н)

1.00
(172ns)

jacobi_sn

2,86
(492н)

1.00
(172ns)

laguerre

1.09
(139ns)

1.00
(128н)

Легенда

1.16
(399ns)

1.00
(345н)

Легенда Q

1.18
(496ns)

1.00
(422ns)

lgamma

2.20
(257ns)

1.00
(117ns)

log1p

1.00
(12ns)

1.00
(12ns)

полигамма

3.93
(2885ns)

1.00
(734ns)

sph_bessel

1.71
(1563ns)

1.00
(915ns)

sph_neumann

2.15
(3745ns)

1.00
(1744нс)

tgamma

3.69
(354ns)

1.00
(96нс)

tgamma (неполный)

2.35
(744нс)

1.00
(316ns)

Тригамма

1.64
(36ns)

1.00
(22ns)

Зета

2.71
(509ns)

1.00
(188ns)



PrevUpHomeNext

Статья Comparing Different Compilers раздела Math Toolkit 2.5.0 Chapter 16. Performance может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Chapter 16. Performance ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 06:39:04/0.0091760158538818/0