GMP mpn anomalies Last modified:2024-12-21 04:07 |
The purpose of these measurements is to highlight possible improvements of GMP's low-level functions. The comparisons might include C fallbacks; in such cases the result indicates the need for asm implementation.
This is a new page, and it will therefore have glitches:
system/abi under-performing
functionfactor
(expected lower)comparison
functionparks/32: add_n 1.1 sub_n raph/64: addlsh2_n 1.13 addlsh_n verm/64: addlsh2_n 1.13 addlsh_n piri/64: addlsh2_n 1.27 addlsh_n suri/64: addlsh2_n 1.27 addlsh_n trm/64: addlsh_n 1.03 addmul_1.3 bwl/64: addlsh_n 1.06 addmul_1.3 roc/64: addlsh_n 1.07 addmul_1.3 k10/64: addlsh_n 1.14 addmul_1.3 ald/64: addlsh_n 1.18 addmul_1.3 gege/64: addlsh_n 1.53 addlsh1_n bd1/64: addlsh_n 1.71 addlsh1_n element/64: addlsh_n 2.35 addlsh1_n element/64: addlsh_n 2.35 addlsh2_n beagle/32: addmul_1.3 0.84 addmul_2 hwl/64: addmul_1.3 1.38 mul_1.3 glm/32: addmul_1.3 1.39 mul_1.3 plm/32: addmul_1.3 1.39 mul_1.3 glmgentoo32/32: addmul_1.3 1.4 mul_1.3 odc4/32: addmul_1.3 1.43 mul_1.3 spigg/32: addmul_1.3 1.51 mul_1.3 trm/32: addmul_1.3 1.75 mul_1.3 bwl/64: addmul_2 2.47 addmul_1.3 ald/64: addmul_2 2.55 addmul_1.3 roc/64: addmul_2 2.58 addmul_1.3 piri/64: copyd 1.18 copyi odxu4/32: copyd 1.19 copyi suri/64: copyd 1.19 copyi bt1/32: copyd 1.44 copyi g5/mode32: copyi 1.06 copyd roc/32: copyi 1.06 copyd roc/64: copyi 1.06 copyd ald/32: copyi 1.07 copyd odc4/32: copyi 1.13 copyd bt1/32: mul_1.3 1.06 addmul_1.3 slm/32: mul_1.3 1.07 addmul_1.3 nanom4/64: mul_basecase 2.02 mullo_basecase element/64: mul_basecase 2.21 mullo_basecase trm/32: mullo_basecase 0.63 mul_basecase gcc1-power7/mode64: mullo_basecase 0.72 mul_basecase gcc2-power8/mode64: mullo_basecase 0.72 mul_basecase raph/32: mullo_basecase 0.74 mul_basecase g5/mode64: mullo_basecase 0.75 mul_basecase verm/32: mullo_basecase 0.75 mul_basecase ald/32: mullo_basecase 0.76 mul_basecase gege/32: mullo_basecase 0.77 mul_basecase slm/32: mullo_basecase 0.81 mul_basecase glm/32: mullo_basecase 0.82 mul_basecase glmgentoo32/32: mullo_basecase 0.82 mul_basecase roc/32: mullo_basecase 0.82 mul_basecase piri/32: mullo_basecase 0.83 mul_basecase suri/32: mullo_basecase 0.83 mul_basecase odxu4/32: mullo_basecase 0.84 mul_basecase k10/32: mullo_basecase 0.85 mul_basecase mati/32: mullo_basecase 0.85 mul_basecase odc4/32: mullo_basecase 0.85 mul_basecase bd2/32: mullo_basecase 0.86 mul_basecase bt2/32: mullo_basecase 0.86 mul_basecase nanom4/32: mullo_basecase 0.86 mul_basecase nanom4/32: mullo_basecase 0.86 mul_basecase bd1/32: mullo_basecase 0.87 mul_basecase cnr/32: mullo_basecase 0.87 mul_basecase lgentoo4.s390.gentoo.wh0rd.org/64: mullo_basecase 0.87 mul_basecase pnr/32: mullo_basecase 0.87 mul_basecase nhm/32: mullo_basecase 0.88 mul_basecase bd4/32: mullo_basecase 0.89 mul_basecase bt1/32: mullo_basecase 0.89 mul_basecase element/32: mullo_basecase 0.92 mul_basecase odc1/32: mullo_basecase 0.93 mul_basecase plm/32: mullo_basecase 0.93 mul_basecase k8/32: mullo_basecase 0.94 mul_basecase sky/32: mullo_basecase 0.94 mul_basecase tinker/32: mullo_basecase 0.94 mul_basecase wsm/32: mullo_basecase 0.95 mul_basecase parks/32: mullo_basecase 0.97 mul_basecase cfarm135/mode64: mullo_basecase 1.01 mul_basecase odn2/32: mullo_basecase 1.01 mul_basecase beagle/32: mullo_basecase 1.02 mul_basecase ivygentoo32/32: mullo_basecase 1.07 mul_basecase bwl/32: mullo_basecase 1.11 mul_basecase sbr/32: mullo_basecase 1.11 mul_basecase hwl/32: mullo_basecase 1.15 mul_basecase g5/32: redc_1 1.25 mul_basecase nhm/64: redc_1 1.27 mul_basecase raph/64: redc_1 1.36 mul_basecase g5/mode64: redc_1 1.37 mul_basecase slm/32: redc_1 1.37 mul_basecase cnr/64: redc_1 1.39 mul_basecase verm/64: redc_1 1.40 mul_basecase gege/32: redc_1 1.42 mul_basecase raph/32: redc_1 1.42 mul_basecase trm/32: redc_1 1.42 mul_basecase verm/32: redc_1 1.43 mul_basecase k10/32: redc_1 1.48 mul_basecase glmgentoo32/32: redc_1 1.5 mul_basecase piri/64: redc_1 1.50 mul_basecase suri/64: redc_1 1.50 mul_basecase glm/32: redc_1 1.54 mul_basecase k8/32: redc_1 1.54 mul_basecase bt1/32: redc_1 1.56 mul_basecase mati/32: redc_1 1.60 mul_basecase ald/32: redc_1 1.61 mul_basecase bt2/32: redc_1 1.61 mul_basecase bd1/32: redc_1 1.62 mul_basecase bd4/32: redc_1 1.63 mul_basecase bd2/32: redc_1 1.64 mul_basecase piri/32: redc_1 1.64 mul_basecase plm/32: redc_1 1.64 mul_basecase suri/32: redc_1 1.64 mul_basecase pnr/32: redc_1 1.66 mul_basecase nhm/32: redc_1 1.67 mul_basecase cnr/32: redc_1 1.68 mul_basecase roc/32: redc_1 1.70 mul_basecase odc1/32: redc_1 1.76 mul_basecase tinker/32: redc_1 1.76 mul_basecase odc4/32: redc_1 1.79 mul_basecase element/32: redc_1 1.82 mul_basecase wsm/32: redc_1 1.82 mul_basecase odn2/32: redc_1 1.83 mul_basecase cfarm135/mode64: redc_1 1.85 mul_basecase beagle/32: redc_1 1.92 mul_basecase sky/32: redc_1 1.96 mul_basecase ivygentoo32/32: redc_1 2.02 mul_basecase parks/32: redc_1 2.1 mul_basecase bwl/32: redc_1 2.10 mul_basecase sbr/32: redc_1 2.10 mul_basecase hwl/32: redc_1 2.15 mul_basecase element/64: rsblsh1_n 2.12 addlsh1_n verm/64: rsblsh2_n 1.13 rsblsh_n raph/64: rsblsh2_n 1.14 rsblsh_n piri/64: rsblsh2_n 1.26 rsblsh_n suri/64: rsblsh2_n 1.26 rsblsh_n element/64: rsblsh2_n 2.00 addlsh2_n gege/64: rsblsh_n 1.53 rsblsh1_n bd1/64: rsblsh_n 1.72 rsblsh1_n trm/64: rsh1add_n 1.15 addlsh1_n raph/64: rsh1add_n 1.18 addlsh1_n verm/64: rsh1add_n 1.20 addlsh1_n glm/64: rsh1add_n 1.33 addlsh1_n glmgentoo64/64: rsh1add_n 1.33 addlsh1_n tinker/32: rsh1add_n 1.33 addlsh1_n beagle/32: rsh1add_n 1.35 addlsh1_n trm/64: rsh1sub_n 1.16 addlsh1_n raph/64: rsh1sub_n 1.18 addlsh1_n verm/64: rsh1sub_n 1.18 addlsh1_n tinker/32: rsh1sub_n 1.32 addlsh1_n glm/64: rsh1sub_n 1.33 addlsh1_n glmgentoo64/64: rsh1sub_n 1.33 addlsh1_n beagle/32: rsh1sub_n 1.36 addlsh1_n g5/32: sbpi1_bdiv_r 1.32 mul_basecase slm/32: sbpi1_bdiv_r 1.34 mul_basecase verm/32: sbpi1_bdiv_r 1.38 mul_basecase gege/32: sbpi1_bdiv_r 1.39 mul_basecase raph/32: sbpi1_bdiv_r 1.39 mul_basecase trm/32: sbpi1_bdiv_r 1.39 mul_basecase nhm/64: sbpi1_bdiv_r 1.40 mul_basecase g5/mode64: sbpi1_bdiv_r 1.41 mul_basecase k10/32: sbpi1_bdiv_r 1.43 mul_basecase glm/32: sbpi1_bdiv_r 1.48 mul_basecase glmgentoo32/32: sbpi1_bdiv_r 1.5 mul_basecase bt1/32: sbpi1_bdiv_r 1.53 mul_basecase k8/32: sbpi1_bdiv_r 1.53 mul_basecase mati/32: sbpi1_bdiv_r 1.53 mul_basecase cnr/64: sbpi1_bdiv_r 1.54 mul_basecase nhm/32: sbpi1_bdiv_r 1.55 mul_basecase bd4/32: sbpi1_bdiv_r 1.56 mul_basecase ald/32: sbpi1_bdiv_r 1.57 mul_basecase cnr/32: sbpi1_bdiv_r 1.57 mul_basecase pnr/32: sbpi1_bdiv_r 1.57 mul_basecase bd1/32: sbpi1_bdiv_r 1.58 mul_basecase bt2/32: sbpi1_bdiv_r 1.58 mul_basecase bd2/32: sbpi1_bdiv_r 1.59 mul_basecase piri/32: sbpi1_bdiv_r 1.59 mul_basecase suri/32: sbpi1_bdiv_r 1.59 mul_basecase roc/32: sbpi1_bdiv_r 1.64 mul_basecase plm/32: sbpi1_bdiv_r 1.68 mul_basecase element/32: sbpi1_bdiv_r 1.70 mul_basecase wsm/32: sbpi1_bdiv_r 1.70 mul_basecase odc4/32: sbpi1_bdiv_r 1.74 mul_basecase tinker/32: sbpi1_bdiv_r 1.82 mul_basecase cfarm135/mode64: sbpi1_bdiv_r 1.86 mul_basecase sky/32: sbpi1_bdiv_r 1.87 mul_basecase odn2/32: sbpi1_bdiv_r 1.88 mul_basecase beagle/32: sbpi1_bdiv_r 1.92 mul_basecase bwl/32: sbpi1_bdiv_r 1.97 mul_basecase ivygentoo32/32: sbpi1_bdiv_r 1.97 mul_basecase sbr/32: sbpi1_bdiv_r 1.97 mul_basecase parks/32: sbpi1_bdiv_r 2 mul_basecase hwl/32: sbpi1_bdiv_r 2.02 mul_basecase nanom4/32: sqr_basecase 0.65 mul_basecase slm/32: sqr_basecase 0.65 mul_basecase bd1/32: sqr_basecase 0.66 mul_basecase cfarm135/mode64: sqr_basecase 0.66 mul_basecase gege/32: sqr_basecase 0.66 mul_basecase glmgentoo64/64: sqr_basecase 0.66 mul_basecase k10/64: sqr_basecase 0.66 mul_basecase nhm/32: sqr_basecase 0.66 mul_basecase odc1/32: sqr_basecase 0.66 mul_basecase tinker/32: sqr_basecase 0.66 mul_basecase bwl/32: sqr_basecase 0.67 mul_basecase ivygentoo32/32: sqr_basecase 0.67 mul_basecase odc4/32: sqr_basecase 0.67 mul_basecase ald/32: sqr_basecase 0.68 mul_basecase bd4/32: sqr_basecase 0.68 mul_basecase beagle/32: sqr_basecase 0.68 mul_basecase g5/mode32: sqr_basecase 0.68 mul_basecase glm/32: sqr_basecase 0.68 mul_basecase glm/64: sqr_basecase 0.68 mul_basecase glmgentoo32/32: sqr_basecase 0.68 mul_basecase roc/32: sqr_basecase 0.68 mul_basecase hwl/32: sqr_basecase 0.69 mul_basecase odn2/32: sqr_basecase 0.69 mul_basecase plm/32: sqr_basecase 0.69 mul_basecase plm/64: sqr_basecase 0.69 mul_basecase sky/32: sqr_basecase 0.69 mul_basecase cnr/32: sqr_basecase 0.70 mul_basecase g5/32: sqr_basecase 0.70 mul_basecase pnr/32: sqr_basecase 0.70 mul_basecase sbr/32: sqr_basecase 0.70 mul_basecase wsm/32: sqr_basecase 0.70 mul_basecase bt1/32: sqr_basecase 0.71 mul_basecase gcc1-power7/mode64: sqr_basecase 0.71 mul_basecase element/32: sqr_basecase 0.72 mul_basecase gcc2-power8/mode64: sqr_basecase 0.73 mul_basecase piri/32: sqr_basecase 0.73 mul_basecase suri/32: sqr_basecase 0.73 mul_basecase trm/32: sqr_basecase 0.73 mul_basecase parks/32: sqr_basecase 0.74 mul_basecase lgentoo4.s390.gentoo.wh0rd.org/64: sqr_basecase 0.75 mul_basecase k8/32: sqr_basecase 0.76 mul_basecase gege/64: sqr_basecase 0.83 mul_basecase element/32: submul_1.3 1.27 addmul_1.3 cnr/32: submul_1.3 1.31 addmul_1.3 pnr/32: submul_1.3 1.31 addmul_1.3 verm/64: submul_1.3 1.35 addmul_1.3 raph/64: submul_1.3 1.36 addmul_1.3