[libc-commits] [libc] [libc][math] Optimize nearest integer functions using builtins when available (PR #98376)
via libc-commits
libc-commits at lists.llvm.org
Thu Jul 11 07:33:55 PDT 2024
overmighty wrote:
Before:
<ul>
<li><details><summary>Intel Core i7-13700H, Clang 18</summary><ul>
<li><details><summary>ceilf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 70750929 ns
Average runtime : 2.49237 ns/op
Ops per second : 401224978 op/s
-- Other function --
Total time : 38140369 ns
Average runtime : 1.34358 ns/op
Ops per second : 744278064 op/s
-- Average runtime ratio --
Mine / Other's : 1.85501
Performance tests with inputs in low integral range:
-- My function --
Total time : 266044931 ns
Average runtime : 1.63639 ns/op
Ops per second : 611100987 op/s
-- Other function --
Total time : 222220790 ns
Average runtime : 1.36684 ns/op
Ops per second : 731616155 op/s
-- Average runtime ratio --
Mine / Other's : 1.19721
Performance tests with inputs in high integral range:
-- My function --
Total time : 193127438 ns
Average runtime : 1.41202 ns/op
Ops per second : 708205532 op/s
-- Other function --
Total time : 189577459 ns
Average runtime : 1.38606 ns/op
Ops per second : 721467207 op/s
-- Average runtime ratio --
Mine / Other's : 1.01873
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1618317865 ns
Average runtime : 2.41148 ns/op
Ops per second : 414682785 op/s
-- Other function --
Total time : 898882410 ns
Average runtime : 1.33944 ns/op
Ops per second : 746581034 op/s
-- Average runtime ratio --
Mine / Other's : 1.80037
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 533237290 ns
Average runtime : 1.58917 ns/op
Ops per second : 629258842 op/s
-- Other function --
Total time : 500883249 ns
Average runtime : 1.49275 ns/op
Ops per second : 669905173 op/s
-- Average runtime ratio --
Mine / Other's : 1.06459 </code></pre></details></li>
<li><details><summary>ceilf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 674273422 ns
Average runtime : 8.32436 ns/op
Ops per second : 120129308 op/s
-- Other function --
Total time : 92629274 ns
Average runtime : 1.14357 ns/op
Ops per second : 874453577 op/s
-- Average runtime ratio --
Mine / Other's : 7.27927
Performance tests with inputs in low integral range:
-- My function --
Total time : 479496514 ns
Average runtime : 3.80553 ns/op
Ops per second : 262775633 op/s
-- Other function --
Total time : 140149736 ns
Average runtime : 1.1123 ns/op
Ops per second : 899038439 op/s
-- Average runtime ratio --
Mine / Other's : 3.42132
Performance tests with inputs in high integral range:
-- My function --
Total time : 92792338 ns
Average runtime : 1.47289 ns/op
Ops per second : 678935366 op/s
-- Other function --
Total time : 73640687 ns
Average runtime : 1.1689 ns/op
Ops per second : 855505326 op/s
-- Average runtime ratio --
Mine / Other's : 1.26007
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 680070839 ns
Average runtime : 16.6195 ns/op
Ops per second : 60170202 op/s
-- Other function --
Total time : 43574324 ns
Average runtime : 1.06487 ns/op
Ops per second : 939085136 op/s
-- Average runtime ratio --
Mine / Other's : 15.6071
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 77634082 ns
Average runtime : 3.79443 ns/op
Ops per second : 263544044 op/s
-- Other function --
Total time : 21819130 ns
Average runtime : 1.06643 ns/op
Ops per second : 937709248 op/s
-- Average runtime ratio --
Mine / Other's : 3.55807 </code></pre></details></li>
<li><details><summary>roundf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 93092765 ns
Average runtime : 3.27941 ns/op
Ops per second : 304932826 op/s
-- Other function --
Total time : 59353335 ns
Average runtime : 2.09086 ns/op
Ops per second : 478272029 op/s
-- Average runtime ratio --
Mine / Other's : 1.56845
Performance tests with inputs in low integral range:
-- My function --
Total time : 314608122 ns
Average runtime : 1.93509 ns/op
Ops per second : 516770892 op/s
-- Other function --
Total time : 308309417 ns
Average runtime : 1.89635 ns/op
Ops per second : 527328427 op/s
-- Average runtime ratio --
Mine / Other's : 1.02043
Performance tests with inputs in high integral range:
-- My function --
Total time : 190342819 ns
Average runtime : 1.39166 ns/op
Ops per second : 718566220 op/s
-- Other function --
Total time : 297937324 ns
Average runtime : 2.17832 ns/op
Ops per second : 459069438 op/s
-- Average runtime ratio --
Mine / Other's : 0.638869
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1984734676 ns
Average runtime : 2.95749 ns/op
Ops per second : 338125074 op/s
-- Other function --
Total time : 1086674803 ns
Average runtime : 1.61927 ns/op
Ops per second : 617561535 op/s
-- Average runtime ratio --
Mine / Other's : 1.82643
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 627913946 ns
Average runtime : 1.87133 ns/op
Ops per second : 534379403 op/s
-- Other function --
Total time : 618657053 ns
Average runtime : 1.84374 ns/op
Ops per second : 542375260 op/s
-- Average runtime ratio --
Mine / Other's : 1.01496 </code></pre></details></li>
<li><details><summary>roundf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 654322315 ns
Average runtime : 8.07805 ns/op
Ops per second : 123792201 op/s
-- Other function --
Total time : 92611262 ns
Average runtime : 1.14335 ns/op
Ops per second : 874623649 op/s
-- Average runtime ratio --
Mine / Other's : 7.06526
Performance tests with inputs in low integral range:
-- My function --
Total time : 322778678 ns
Average runtime : 2.56174 ns/op
Ops per second : 390360357 op/s
-- Other function --
Total time : 140106192 ns
Average runtime : 1.11195 ns/op
Ops per second : 899317854 op/s
-- Average runtime ratio --
Mine / Other's : 2.30381
Performance tests with inputs in high integral range:
-- My function --
Total time : 106860024 ns
Average runtime : 1.69619 ns/op
Ops per second : 589556296 op/s
-- Other function --
Total time : 73616598 ns
Average runtime : 1.16852 ns/op
Ops per second : 855785267 op/s
-- Average runtime ratio --
Mine / Other's : 1.45158
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 517069372 ns
Average runtime : 12.6361 ns/op
Ops per second : 79138317 op/s
-- Other function --
Total time : 43561175 ns
Average runtime : 1.06454 ns/op
Ops per second : 939368600 op/s
-- Average runtime ratio --
Mine / Other's : 11.87
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 52330339 ns
Average runtime : 2.55769 ns/op
Ops per second : 390977784 op/s
-- Other function --
Total time : 21780612 ns
Average runtime : 1.06455 ns/op
Ops per second : 939367543 op/s
-- Average runtime ratio --
Mine / Other's : 2.40261 </code></pre></details></li>
<li><details><summary>roundevenf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 75614794 ns
Average runtime : 2.66371 ns/op
Ops per second : 375416482 op/s
-- Other function --
Total time : 38131510 ns
Average runtime : 1.34327 ns/op
Ops per second : 744450980 op/s
-- Average runtime ratio --
Mine / Other's : 1.983
Performance tests with inputs in low integral range:
-- My function --
Total time : 269643033 ns
Average runtime : 1.65852 ns/op
Ops per second : 602946488 op/s
-- Other function --
Total time : 231081183 ns
Average runtime : 1.42134 ns/op
Ops per second : 703563647 op/s
-- Average runtime ratio --
Mine / Other's : 1.16688
Performance tests with inputs in high integral range:
-- My function --
Total time : 226359312 ns
Average runtime : 1.65499 ns/op
Ops per second : 604233679 op/s
-- Other function --
Total time : 195512952 ns
Average runtime : 1.42946 ns/op
Ops per second : 699564497 op/s
-- Average runtime ratio --
Mine / Other's : 1.15777
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1985345483 ns
Average runtime : 2.9584 ns/op
Ops per second : 338021047 op/s
-- Other function --
Total time : 887333509 ns
Average runtime : 1.32223 ns/op
Ops per second : 756298002 op/s
-- Average runtime ratio --
Mine / Other's : 2.23743
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 543037247 ns
Average runtime : 1.61838 ns/op
Ops per second : 617902882 op/s
-- Other function --
Total time : 455375583 ns
Average runtime : 1.35713 ns/op
Ops per second : 736851716 op/s
-- Average runtime ratio --
Mine / Other's : 1.1925 </code></pre></details></li>
<li><details><summary>roundevenf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 579775585 ns
Average runtime : 7.15772 ns/op
Ops per second : 139709229 op/s
-- Other function --
Total time : 92620845 ns
Average runtime : 1.14347 ns/op
Ops per second : 874533157 op/s
-- Average runtime ratio --
Mine / Other's : 6.25967
Performance tests with inputs in low integral range:
-- My function --
Total time : 462531174 ns
Average runtime : 3.67088 ns/op
Ops per second : 272414070 op/s
-- Other function --
Total time : 140118694 ns
Average runtime : 1.11205 ns/op
Ops per second : 899237613 op/s
-- Average runtime ratio --
Mine / Other's : 3.301
Performance tests with inputs in high integral range:
-- My function --
Total time : 109735077 ns
Average runtime : 1.74183 ns/op
Ops per second : 574109953 op/s
-- Other function --
Total time : 73623625 ns
Average runtime : 1.16863 ns/op
Ops per second : 855703586 op/s
-- Average runtime ratio --
Mine / Other's : 1.49049
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 511212017 ns
Average runtime : 12.493 ns/op
Ops per second : 80045066 op/s
-- Other function --
Total time : 43560860 ns
Average runtime : 1.06454 ns/op
Ops per second : 939375393 op/s
-- Average runtime ratio --
Mine / Other's : 11.7356
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 73806173 ns
Average runtime : 3.60734 ns/op
Ops per second : 277212584 op/s
-- Other function --
Total time : 21792744 ns
Average runtime : 1.06514 ns/op
Ops per second : 938844598 op/s
-- Average runtime ratio --
Mine / Other's : 3.38673 </code></pre></details></li>
</li></ul></details>
<li><details><summary>Intel Core i7-13700H, Clang 18, <code>-march=native</code></summary><ul>
<li><details><summary>ceilf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 70562193 ns
Average runtime : 2.48572 ns/op
Ops per second : 402298154 op/s
-- Other function --
Total time : 30653028 ns
Average runtime : 1.07982 ns/op
Ops per second : 926076210 op/s
-- Average runtime ratio --
Mine / Other's : 2.30196
Performance tests with inputs in low integral range:
-- My function --
Total time : 233485662 ns
Average runtime : 1.43612 ns/op
Ops per second : 696318217 op/s
-- Other function --
Total time : 181146278 ns
Average runtime : 1.1142 ns/op
Ops per second : 897508476 op/s
-- Average runtime ratio --
Mine / Other's : 1.28893
Performance tests with inputs in high integral range:
-- My function --
Total time : 191688756 ns
Average runtime : 1.4015 ns/op
Ops per second : 713520828 op/s
-- Other function --
Total time : 151863004 ns
Average runtime : 1.11032 ns/op
Ops per second : 900640158 op/s
-- Average runtime ratio --
Mine / Other's : 1.26225
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1314099125 ns
Average runtime : 1.95816 ns/op
Ops per second : 510683362 op/s
-- Other function --
Total time : 708380629 ns
Average runtime : 1.05557 ns/op
Ops per second : 947355888 op/s
-- Average runtime ratio --
Mine / Other's : 1.85507
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 451824067 ns
Average runtime : 1.34654 ns/op
Ops per second : 742643662 op/s
-- Other function --
Total time : 354146792 ns
Average runtime : 1.05544 ns/op
Ops per second : 947472312 op/s
-- Average runtime ratio --
Mine / Other's : 1.27581 </code></pre></details></li>
<li><details><summary>ceilf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 400481387 ns
Average runtime : 4.94421 ns/op
Ops per second : 202256590 op/s
-- Other function --
Total time : 92906358 ns
Average runtime : 1.14699 ns/op
Ops per second : 871845606 op/s
-- Average runtime ratio --
Mine / Other's : 4.31059
Performance tests with inputs in low integral range:
-- My function --
Total time : 479878016 ns
Average runtime : 3.80856 ns/op
Ops per second : 262566726 op/s
-- Other function --
Total time : 140554735 ns
Average runtime : 1.11551 ns/op
Ops per second : 896447921 op/s
-- Average runtime ratio --
Mine / Other's : 3.41417
Performance tests with inputs in high integral range:
-- My function --
Total time : 123842741 ns
Average runtime : 1.96576 ns/op
Ops per second : 508709670 op/s
-- Other function --
Total time : 73836421 ns
Average runtime : 1.17201 ns/op
Ops per second : 853237455 op/s
-- Average runtime ratio --
Mine / Other's : 1.67726
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 486842946 ns
Average runtime : 11.8974 ns/op
Ops per second : 84051746 op/s
-- Other function --
Total time : 43613644 ns
Average runtime : 1.06583 ns/op
Ops per second : 938238501 op/s
-- Average runtime ratio --
Mine / Other's : 11.1626
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 80535064 ns
Average runtime : 3.93622 ns/op
Ops per second : 254050831 op/s
-- Other function --
Total time : 21773902 ns
Average runtime : 1.06422 ns/op
Ops per second : 939657026 op/s
-- Average runtime ratio --
Mine / Other's : 3.6987 </code></pre></details></li>
<li><details><summary>roundf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 62573381 ns
Average runtime : 2.20429 ns/op
Ops per second : 453659999 op/s
-- Other function --
Total time : 57189374 ns
Average runtime : 2.01463 ns/op
Ops per second : 496369133 op/s
-- Average runtime ratio --
Mine / Other's : 1.09414
Performance tests with inputs in low integral range:
-- My function --
Total time : 269658978 ns
Average runtime : 1.65862 ns/op
Ops per second : 602910836 op/s
-- Other function --
Total time : 265856429 ns
Average runtime : 1.63523 ns/op
Ops per second : 611534280 op/s
-- Average runtime ratio --
Mine / Other's : 1.0143
Performance tests with inputs in high integral range:
-- My function --
Total time : 162013177 ns
Average runtime : 1.18453 ns/op
Ops per second : 844214788 op/s
-- Other function --
Total time : 285219834 ns
Average runtime : 2.08534 ns/op
Ops per second : 479538600 op/s
-- Average runtime ratio --
Mine / Other's : 0.568029
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1777297523 ns
Average runtime : 2.64838 ns/op
Ops per second : 377589318 op/s
-- Other function --
Total time : 1086540688 ns
Average runtime : 1.61907 ns/op
Ops per second : 617637763 op/s
-- Average runtime ratio --
Mine / Other's : 1.63574
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 540391408 ns
Average runtime : 1.61049 ns/op
Ops per second : 620928229 op/s
-- Other function --
Total time : 531246386 ns
Average runtime : 1.58324 ns/op
Ops per second : 631617059 op/s
-- Average runtime ratio --
Mine / Other's : 1.01721 </code></pre></details></li>
<li><details><summary>roundf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 218499719 ns
Average runtime : 2.69753 ns/op
Ops per second : 370709858 op/s
-- Other function --
Total time : 92905217 ns
Average runtime : 1.14698 ns/op
Ops per second : 871856313 op/s
-- Average runtime ratio --
Mine / Other's : 2.35186
Performance tests with inputs in low integral range:
-- My function --
Total time : 312089755 ns
Average runtime : 2.4769 ns/op
Ops per second : 403730010 op/s
-- Other function --
Total time : 140534067 ns
Average runtime : 1.11535 ns/op
Ops per second : 896579759 op/s
-- Average runtime ratio --
Mine / Other's : 2.22074
Performance tests with inputs in high integral range:
-- My function --
Total time : 125867891 ns
Average runtime : 1.9979 ns/op
Ops per second : 500524792 op/s
-- Other function --
Total time : 73878540 ns
Average runtime : 1.17268 ns/op
Ops per second : 852751015 op/s
-- Average runtime ratio --
Mine / Other's : 1.70371
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 354263972 ns
Average runtime : 8.65748 ns/op
Ops per second : 115507088 op/s
-- Other function --
Total time : 43589009 ns
Average runtime : 1.06523 ns/op
Ops per second : 938768761 op/s
-- Average runtime ratio --
Mine / Other's : 8.12737
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 49744510 ns
Average runtime : 2.43131 ns/op
Ops per second : 411301669 op/s
-- Other function --
Total time : 21794194 ns
Average runtime : 1.06521 ns/op
Ops per second : 938782136 op/s
-- Average runtime ratio --
Mine / Other's : 2.28247 </code></pre></details></li>
<li><details><summary>roundevenf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 68886590 ns
Average runtime : 2.42669 ns/op
Ops per second : 412083687 op/s
-- Other function --
Total time : 30644535 ns
Average runtime : 1.07953 ns/op
Ops per second : 926332868 op/s
-- Average runtime ratio --
Mine / Other's : 2.24792
Performance tests with inputs in low integral range:
-- My function --
Total time : 254584291 ns
Average runtime : 1.5659 ns/op
Ops per second : 638610965 op/s
-- Other function --
Total time : 182953790 ns
Average runtime : 1.12531 ns/op
Ops per second : 888641443 op/s
-- Average runtime ratio --
Mine / Other's : 1.39152
Performance tests with inputs in high integral range:
-- My function --
Total time : 192144006 ns
Average runtime : 1.40483 ns/op
Ops per second : 711830271 op/s
-- Other function --
Total time : 155715252 ns
Average runtime : 1.13849 ns/op
Ops per second : 878359173 op/s
-- Average runtime ratio --
Mine / Other's : 1.23394
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1548275403 ns
Average runtime : 2.30711 ns/op
Ops per second : 433442628 op/s
-- Other function --
Total time : 711953607 ns
Average runtime : 1.06089 ns/op
Ops per second : 942601531 op/s
-- Average runtime ratio --
Mine / Other's : 2.17469
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 541407358 ns
Average runtime : 1.61352 ns/op
Ops per second : 619763058 op/s
-- Other function --
Total time : 356017062 ns
Average runtime : 1.06101 ns/op
Ops per second : 942494941 op/s
-- Average runtime ratio --
Mine / Other's : 1.52073 </code></pre></details></li>
<li><details><summary>roundevenf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 218604121 ns
Average runtime : 2.69882 ns/op
Ops per second : 370532813 op/s
-- Other function --
Total time : 92908523 ns
Average runtime : 1.14702 ns/op
Ops per second : 871825289 op/s
-- Average runtime ratio --
Mine / Other's : 2.3529
Performance tests with inputs in low integral range:
-- My function --
Total time : 466298885 ns
Average runtime : 3.70078 ns/op
Ops per second : 270212955 op/s
-- Other function --
Total time : 140496888 ns
Average runtime : 1.11505 ns/op
Ops per second : 896817017 op/s
-- Average runtime ratio --
Mine / Other's : 3.31893
Performance tests with inputs in high integral range:
-- My function --
Total time : 126352650 ns
Average runtime : 2.0056 ns/op
Ops per second : 498604500 op/s
-- Other function --
Total time : 73838118 ns
Average runtime : 1.17203 ns/op
Ops per second : 853217846 op/s
-- Average runtime ratio --
Mine / Other's : 1.71121
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 357035703 ns
Average runtime : 8.72521 ns/op
Ops per second : 114610386 op/s
-- Other function --
Total time : 43579606 ns
Average runtime : 1.065 ns/op
Ops per second : 938971316 op/s
-- Average runtime ratio --
Mine / Other's : 8.19272
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 74230150 ns
Average runtime : 3.62806 ns/op
Ops per second : 275629242 op/s
-- Other function --
Total time : 21799282 ns
Average runtime : 1.06546 ns/op
Ops per second : 938563022 op/s
-- Average runtime ratio --
Mine / Other's : 3.40516 </code></pre></details></li>
</li></ul></details>
<li><details><summary>Intel Core i7-13700H, GCC 14</summary><ul>
<li><details><summary>ceilf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 79235665 ns
Average runtime : 2.79126 ns/op
Ops per second : 358260891 op/s
-- Other function --
Total time : 30980260 ns
Average runtime : 1.09135 ns/op
Ops per second : 916294440 op/s
-- Average runtime ratio --
Mine / Other's : 2.55762
Performance tests with inputs in low integral range:
-- My function --
Total time : 265892007 ns
Average runtime : 1.63545 ns/op
Ops per second : 611452453 op/s
-- Other function --
Total time : 178742810 ns
Average runtime : 1.09941 ns/op
Ops per second : 909576838 op/s
-- Average runtime ratio --
Mine / Other's : 1.48757
Performance tests with inputs in high integral range:
-- My function --
Total time : 192297481 ns
Average runtime : 1.40595 ns/op
Ops per second : 711262151 op/s
-- Other function --
Total time : 152622397 ns
Average runtime : 1.11587 ns/op
Ops per second : 896158903 op/s
-- Average runtime ratio --
Mine / Other's : 1.25996
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1569986223 ns
Average runtime : 2.33946 ns/op
Ops per second : 427448693 op/s
-- Other function --
Total time : 708320848 ns
Average runtime : 1.05548 ns/op
Ops per second : 947435843 op/s
-- Average runtime ratio --
Mine / Other's : 2.21649
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 449039558 ns
Average runtime : 1.33824 ns/op
Ops per second : 747248820 op/s
-- Other function --
Total time : 354143807 ns
Average runtime : 1.05543 ns/op
Ops per second : 947480298 op/s
-- Average runtime ratio --
Mine / Other's : 1.26796 </code></pre></details></li>
<li><details><summary>ceilf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 412820002 ns
Average runtime : 5.09654 ns/op
Ops per second : 196211422 op/s
-- Other function --
Total time : 92642798 ns
Average runtime : 1.14374 ns/op
Ops per second : 874325924 op/s
-- Average runtime ratio --
Mine / Other's : 4.45604
Performance tests with inputs in low integral range:
-- My function --
Total time : 270330514 ns
Average runtime : 2.14548 ns/op
Ops per second : 466096106 op/s
-- Other function --
Total time : 171002491 ns
Average runtime : 1.35716 ns/op
Ops per second : 736831371 op/s
-- Average runtime ratio --
Mine / Other's : 1.58086
Performance tests with inputs in high integral range:
-- My function --
Total time : 88478482 ns
Average runtime : 1.40442 ns/op
Ops per second : 712037532 op/s
-- Other function --
Total time : 73672354 ns
Average runtime : 1.1694 ns/op
Ops per second : 855137600 op/s
-- Average runtime ratio --
Mine / Other's : 1.20097
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 410560254 ns
Average runtime : 10.0332 ns/op
Ops per second : 99668683 op/s
-- Other function --
Total time : 54234612 ns
Average runtime : 1.32538 ns/op
Ops per second : 754499727 op/s
-- Average runtime ratio --
Mine / Other's : 7.57008
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 43335152 ns
Average runtime : 2.11804 ns/op
Ops per second : 472134031 op/s
-- Other function --
Total time : 27109088 ns
Average runtime : 1.32498 ns/op
Ops per second : 754728451 op/s
-- Average runtime ratio --
Mine / Other's : 1.59855 </code></pre></details></li>
<li><details><summary>roundf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 77587274 ns
Average runtime : 2.73319 ns/op
Ops per second : 365872372 op/s
-- Other function --
Total time : 55777674 ns
Average runtime : 1.9649 ns/op
Ops per second : 508931942 op/s
-- Average runtime ratio --
Mine / Other's : 1.39101
Performance tests with inputs in low integral range:
-- My function --
Total time : 269861096 ns
Average runtime : 1.65986 ns/op
Ops per second : 602459274 op/s
-- Other function --
Total time : 265817093 ns
Average runtime : 1.63499 ns/op
Ops per second : 611624776 op/s
-- Average runtime ratio --
Mine / Other's : 1.01521
Performance tests with inputs in high integral range:
-- My function --
Total time : 191108888 ns
Average runtime : 1.39726 ns/op
Ops per second : 715685813 op/s
-- Other function --
Total time : 293324330 ns
Average runtime : 2.14459 ns/op
Ops per second : 466289039 op/s
-- Average runtime ratio --
Mine / Other's : 0.651528
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1716754585 ns
Average runtime : 2.55816 ns/op
Ops per second : 390905354 op/s
-- Other function --
Total time : 1086812529 ns
Average runtime : 1.61948 ns/op
Ops per second : 617483275 op/s
-- Average runtime ratio --
Mine / Other's : 1.57962
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 451923431 ns
Average runtime : 1.34684 ns/op
Ops per second : 742480378 op/s
-- Other function --
Total time : 531260612 ns
Average runtime : 1.58328 ns/op
Ops per second : 631600145 op/s
-- Average runtime ratio --
Mine / Other's : 0.850662 </code></pre></details></li>
<li><details><summary>roundf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 413499755 ns
Average runtime : 5.10494 ns/op
Ops per second : 195888870 op/s
-- Other function --
Total time : 92621102 ns
Average runtime : 1.14347 ns/op
Ops per second : 874530730 op/s
-- Average runtime ratio --
Mine / Other's : 4.46442
Performance tests with inputs in low integral range:
-- My function --
Total time : 244894286 ns
Average runtime : 1.94361 ns/op
Ops per second : 514507717 op/s
-- Other function --
Total time : 170985347 ns
Average runtime : 1.35703 ns/op
Ops per second : 736905250 op/s
-- Average runtime ratio --
Mine / Other's : 1.43225
Performance tests with inputs in high integral range:
-- My function --
Total time : 102115907 ns
Average runtime : 1.62089 ns/op
Ops per second : 616945996 op/s
-- Other function --
Total time : 73625623 ns
Average runtime : 1.16866 ns/op
Ops per second : 855680365 op/s
-- Average runtime ratio --
Mine / Other's : 1.38696
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 309419599 ns
Average runtime : 7.56157 ns/op
Ops per second : 132247602 op/s
-- Other function --
Total time : 54225272 ns
Average runtime : 1.32515 ns/op
Ops per second : 754629686 op/s
-- Average runtime ratio --
Mine / Other's : 5.70619
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 37964283 ns
Average runtime : 1.85554 ns/op
Ops per second : 538927602 op/s
-- Other function --
Total time : 27108952 ns
Average runtime : 1.32497 ns/op
Ops per second : 754732237 op/s
-- Average runtime ratio --
Mine / Other's : 1.40043 </code></pre></details></li>
<li><details><summary>roundevenf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 76503986 ns
Average runtime : 2.69503 ns/op
Ops per second : 371053084 op/s
-- Other function --
Total time : 31063145 ns
Average runtime : 1.09427 ns/op
Ops per second : 913849515 op/s
-- Average runtime ratio --
Mine / Other's : 2.46285
Performance tests with inputs in low integral range:
-- My function --
Total time : 394039940 ns
Average runtime : 2.42366 ns/op
Ops per second : 412598580 op/s
-- Other function --
Total time : 183213917 ns
Average runtime : 1.12691 ns/op
Ops per second : 887379750 op/s
-- Average runtime ratio --
Mine / Other's : 2.15071
Performance tests with inputs in high integral range:
-- My function --
Total time : 203525110 ns
Average runtime : 1.48804 ns/op
Ops per second : 672024793 op/s
-- Other function --
Total time : 156369227 ns
Average runtime : 1.14327 ns/op
Ops per second : 874685656 op/s
-- Average runtime ratio --
Mine / Other's : 1.30157
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 2043352175 ns
Average runtime : 3.04483 ns/op
Ops per second : 328425304 op/s
-- Other function --
Total time : 708366210 ns
Average runtime : 1.05555 ns/op
Ops per second : 947375171 op/s
-- Average runtime ratio --
Mine / Other's : 2.8846
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 727321058 ns
Average runtime : 2.16759 ns/op
Ops per second : 461342726 op/s
-- Other function --
Total time : 354177139 ns
Average runtime : 1.05553 ns/op
Ops per second : 947391130 op/s
-- Average runtime ratio --
Mine / Other's : 2.05355 </code></pre></details></li>
<li><details><summary>roundevenf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 433535124 ns
Average runtime : 5.35229 ns/op
Ops per second : 186836072 op/s
-- Other function --
Total time : 92611836 ns
Average runtime : 1.14336 ns/op
Ops per second : 874618229 op/s
-- Average runtime ratio --
Mine / Other's : 4.68121
Performance tests with inputs in low integral range:
-- My function --
Total time : 276561605 ns
Average runtime : 2.19493 ns/op
Ops per second : 455594694 op/s
-- Other function --
Total time : 171018677 ns
Average runtime : 1.35729 ns/op
Ops per second : 736761634 op/s
-- Average runtime ratio --
Mine / Other's : 1.61714
Performance tests with inputs in high integral range:
-- My function --
Total time : 109238229 ns
Average runtime : 1.73394 ns/op
Ops per second : 576721176 op/s
-- Other function --
Total time : 73614651 ns
Average runtime : 1.16849 ns/op
Ops per second : 855807901 op/s
-- Average runtime ratio --
Mine / Other's : 1.48392
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 338207723 ns
Average runtime : 8.2651 ns/op
Ops per second : 120990732 op/s
-- Other function --
Total time : 54218110 ns
Average runtime : 1.32498 ns/op
Ops per second : 754729369 op/s
-- Average runtime ratio --
Mine / Other's : 6.23791
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 45638258 ns
Average runtime : 2.23061 ns/op
Ops per second : 448308083 op/s
-- Other function --
Total time : 27109077 ns
Average runtime : 1.32498 ns/op
Ops per second : 754728757 op/s
-- Average runtime ratio --
Mine / Other's : 1.6835 </code></pre></details></li>
</li></ul></details>
<li><details><summary>Intel Core i7-13700H, GCC 14, <code>-march=native</code></summary><ul>
<li><details><summary>ceilf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 69774440 ns
Average runtime : 2.45797 ns/op
Ops per second : 406840097 op/s
-- Other function --
Total time : 30980024 ns
Average runtime : 1.09134 ns/op
Ops per second : 916301420 op/s
-- Average runtime ratio --
Mine / Other's : 2.25224
Performance tests with inputs in low integral range:
-- My function --
Total time : 268904430 ns
Average runtime : 1.65398 ns/op
Ops per second : 604602609 op/s
-- Other function --
Total time : 186371254 ns
Average runtime : 1.14633 ns/op
Ops per second : 872346547 op/s
-- Average runtime ratio --
Mine / Other's : 1.44284
Performance tests with inputs in high integral range:
-- My function --
Total time : 192708086 ns
Average runtime : 1.40895 ns/op
Ops per second : 709746657 op/s
-- Other function --
Total time : 152697853 ns
Average runtime : 1.11643 ns/op
Ops per second : 895716064 op/s
-- Average runtime ratio --
Mine / Other's : 1.26202
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1396765547 ns
Average runtime : 2.08134 ns/op
Ops per second : 480458987 op/s
-- Other function --
Total time : 708368982 ns
Average runtime : 1.05555 ns/op
Ops per second : 947371464 op/s
-- Average runtime ratio --
Mine / Other's : 1.97181
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 449041565 ns
Average runtime : 1.33825 ns/op
Ops per second : 747245480 op/s
-- Other function --
Total time : 354160746 ns
Average runtime : 1.05548 ns/op
Ops per second : 947434981 op/s
-- Average runtime ratio --
Mine / Other's : 1.2679 </code></pre></details></li>
<li><details><summary>ceilf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 399259882 ns
Average runtime : 4.92913 ns/op
Ops per second : 202875379 op/s
-- Other function --
Total time : 92636679 ns
Average runtime : 1.14366 ns/op
Ops per second : 874383676 op/s
-- Average runtime ratio --
Mine / Other's : 4.30995
Performance tests with inputs in low integral range:
-- My function --
Total time : 211942428 ns
Average runtime : 1.68208 ns/op
Ops per second : 594501068 op/s
-- Other function --
Total time : 171019129 ns
Average runtime : 1.35729 ns/op
Ops per second : 736759687 op/s
-- Average runtime ratio --
Mine / Other's : 1.23929
Performance tests with inputs in high integral range:
-- My function --
Total time : 103063918 ns
Average runtime : 1.63594 ns/op
Ops per second : 611271153 op/s
-- Other function --
Total time : 73632140 ns
Average runtime : 1.16876 ns/op
Ops per second : 855604631 op/s
-- Average runtime ratio --
Mine / Other's : 1.39971
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 202448442 ns
Average runtime : 4.94742 ns/op
Ops per second : 202125536 op/s
-- Other function --
Total time : 54238882 ns
Average runtime : 1.32549 ns/op
Ops per second : 754440329 op/s
-- Average runtime ratio --
Mine / Other's : 3.73253
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 32829212 ns
Average runtime : 1.60456 ns/op
Ops per second : 623225437 op/s
-- Other function --
Total time : 27202338 ns
Average runtime : 1.32954 ns/op
Ops per second : 752141231 op/s
-- Average runtime ratio --
Mine / Other's : 1.20685 </code></pre></details></li>
<li><details><summary>roundf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 72939786 ns
Average runtime : 2.56947 ns/op
Ops per second : 389184580 op/s
-- Other function --
Total time : 55593796 ns
Average runtime : 1.95842 ns/op
Ops per second : 510615249 op/s
-- Average runtime ratio --
Mine / Other's : 1.31201
Performance tests with inputs in low integral range:
-- My function --
Total time : 270362286 ns
Average runtime : 1.66295 ns/op
Ops per second : 601342452 op/s
-- Other function --
Total time : 265734503 ns
Average runtime : 1.63448 ns/op
Ops per second : 611814868 op/s
-- Average runtime ratio --
Mine / Other's : 1.01742
Performance tests with inputs in high integral range:
-- My function --
Total time : 191061468 ns
Average runtime : 1.39691 ns/op
Ops per second : 715863441 op/s
-- Other function --
Total time : 273614502 ns
Average runtime : 2.00049 ns/op
Ops per second : 499878182 op/s
-- Average runtime ratio --
Mine / Other's : 0.698287
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1533700178 ns
Average runtime : 2.28539 ns/op
Ops per second : 437561767 op/s
-- Other function --
Total time : 1095378603 ns
Average runtime : 1.63224 ns/op
Ops per second : 612654435 op/s
-- Average runtime ratio --
Mine / Other's : 1.40016
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 451946350 ns
Average runtime : 1.34691 ns/op
Ops per second : 742442725 op/s
-- Other function --
Total time : 531236602 ns
Average runtime : 1.58321 ns/op
Ops per second : 631628691 op/s
-- Average runtime ratio --
Mine / Other's : 0.850744 </code></pre></details></li>
<li><details><summary>roundf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 396555419 ns
Average runtime : 4.89575 ns/op
Ops per second : 204258966 op/s
-- Other function --
Total time : 92658341 ns
Average runtime : 1.14393 ns/op
Ops per second : 874179260 op/s
-- Average runtime ratio --
Mine / Other's : 4.27976
Performance tests with inputs in low integral range:
-- My function --
Total time : 269136129 ns
Average runtime : 2.136 ns/op
Ops per second : 468164569 op/s
-- Other function --
Total time : 170973624 ns
Average runtime : 1.35693 ns/op
Ops per second : 736955777 op/s
-- Average runtime ratio --
Mine / Other's : 1.57414
Performance tests with inputs in high integral range:
-- My function --
Total time : 102119948 ns
Average runtime : 1.62095 ns/op
Ops per second : 616921583 op/s
-- Other function --
Total time : 73614145 ns
Average runtime : 1.16848 ns/op
Ops per second : 855813784 op/s
-- Average runtime ratio --
Mine / Other's : 1.38723
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 211990906 ns
Average runtime : 5.18062 ns/op
Ops per second : 193027148 op/s
-- Other function --
Total time : 54391024 ns
Average runtime : 1.3292 ns/op
Ops per second : 752330016 op/s
-- Average runtime ratio --
Mine / Other's : 3.89753
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 40982714 ns
Average runtime : 2.00307 ns/op
Ops per second : 499234872 op/s
-- Other function --
Total time : 27165564 ns
Average runtime : 1.32774 ns/op
Ops per second : 753159404 op/s
-- Average runtime ratio --
Mine / Other's : 1.50863 </code></pre></details></li>
<li><details><summary>roundevenf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 70444843 ns
Average runtime : 2.48158 ns/op
Ops per second : 402968319 op/s
-- Other function --
Total time : 31028846 ns
Average runtime : 1.09306 ns/op
Ops per second : 914859676 op/s
-- Average runtime ratio --
Mine / Other's : 2.2703
Performance tests with inputs in low integral range:
-- My function --
Total time : 396241928 ns
Average runtime : 2.43721 ns/op
Ops per second : 410305695 op/s
-- Other function --
Total time : 182994993 ns
Average runtime : 1.12557 ns/op
Ops per second : 888441357 op/s
-- Average runtime ratio --
Mine / Other's : 2.16532
Performance tests with inputs in high integral range:
-- My function --
Total time : 225859002 ns
Average runtime : 1.65133 ns/op
Ops per second : 605572143 op/s
-- Other function --
Total time : 156358375 ns
Average runtime : 1.14319 ns/op
Ops per second : 874746363 op/s
-- Average runtime ratio --
Mine / Other's : 1.4445
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1608208391 ns
Average runtime : 2.39642 ns/op
Ops per second : 417289552 op/s
-- Other function --
Total time : 708322939 ns
Average runtime : 1.05548 ns/op
Ops per second : 947433046 op/s
-- Average runtime ratio --
Mine / Other's : 2.27045
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 759816146 ns
Average runtime : 2.26443 ns/op
Ops per second : 441612463 op/s
-- Other function --
Total time : 356115685 ns
Average runtime : 1.06131 ns/op
Ops per second : 942233926 op/s
-- Average runtime ratio --
Mine / Other's : 2.13362 </code></pre></details></li>
<li><details><summary>roundevenf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 399679925 ns
Average runtime : 4.93432 ns/op
Ops per second : 202662167 op/s
-- Other function --
Total time : 92623252 ns
Average runtime : 1.1435 ns/op
Ops per second : 874510430 op/s
-- Average runtime ratio --
Mine / Other's : 4.31511
Performance tests with inputs in low integral range:
-- My function --
Total time : 253570453 ns
Average runtime : 2.01246 ns/op
Ops per second : 496903320 op/s
-- Other function --
Total time : 170998677 ns
Average runtime : 1.35713 ns/op
Ops per second : 736847806 op/s
-- Average runtime ratio --
Mine / Other's : 1.48288
Performance tests with inputs in high integral range:
-- My function --
Total time : 106868868 ns
Average runtime : 1.69633 ns/op
Ops per second : 589507507 op/s
-- Other function --
Total time : 73613678 ns
Average runtime : 1.16847 ns/op
Ops per second : 855819213 op/s
-- Average runtime ratio --
Mine / Other's : 1.45175
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 224933145 ns
Average runtime : 5.4969 ns/op
Ops per second : 181920721 op/s
-- Other function --
Total time : 54227806 ns
Average runtime : 1.32522 ns/op
Ops per second : 754594423 op/s
-- Average runtime ratio --
Mine / Other's : 4.14793
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 42401509 ns
Average runtime : 2.07241 ns/op
Ops per second : 482529996 op/s
-- Other function --
Total time : 27197467 ns
Average runtime : 1.3293 ns/op
Ops per second : 752275938 op/s
-- Average runtime ratio --
Mine / Other's : 1.55902 </code></pre></details></li>
</li></ul></details>
<li><details><summary>Google Tensor G3, Clang 17</summary><ul>
<li><details><summary>ceilf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 20761312 ns
Average runtime : 0.731366 ns/op
Ops per second : 1367304725 op/s
-- Other function --
Total time : 20598185 ns
Average runtime : 0.725619 ns/op
Ops per second : 1378133073 op/s
-- Average runtime ratio --
Mine / Other's : 1.00792
Performance tests with inputs in low integral range:
-- My function --
Total time : 118769938 ns
Average runtime : 0.730531 ns/op
Ops per second : 1368867600 op/s
-- Other function --
Total time : 118865682 ns
Average runtime : 0.73112 ns/op
Ops per second : 1367765003 op/s
-- Average runtime ratio --
Mine / Other's : 0.999195
Performance tests with inputs in high integral range:
-- My function --
Total time : 100606934 ns
Average runtime : 0.735571 ns/op
Ops per second : 1359488005 op/s
-- Other function --
Total time : 100431559 ns
Average runtime : 0.734289 ns/op
Ops per second : 1361861962 op/s
-- Average runtime ratio --
Mine / Other's : 1.00175
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 461369344 ns
Average runtime : 0.687494 ns/op
Ops per second : 1454558194 op/s
-- Other function --
Total time : 460846111 ns
Average runtime : 0.686714 ns/op
Ops per second : 1456209663 op/s
-- Average runtime ratio --
Mine / Other's : 1.00114
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 230412923 ns
Average runtime : 0.686684 ns/op
Ops per second : 1456273700 op/s
-- Other function --
Total time : 230302816 ns
Average runtime : 0.686356 ns/op
Ops per second : 1456969939 op/s
-- Average runtime ratio --
Mine / Other's : 1.00048 </code></pre></details></li>
<li><details><summary>ceilf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 148635173 ns
Average runtime : 1.835 ns/op
Ops per second : 544958493 op/s
-- Other function --
Total time : 61964884 ns
Average runtime : 0.764999 ns/op
Ops per second : 1307191989 op/s
-- Average runtime ratio --
Mine / Other's : 2.3987
Performance tests with inputs in low integral range:
-- My function --
Total time : 182265218 ns
Average runtime : 1.44655 ns/op
Ops per second : 691300300 op/s
-- Other function --
Total time : 93509806 ns
Average runtime : 0.742141 ns/op
Ops per second : 1347452266 op/s
-- Average runtime ratio --
Mine / Other's : 1.94916
Performance tests with inputs in high integral range:
-- My function --
Total time : 68846476 ns
Average runtime : 1.0928 ns/op
Ops per second : 915079516 op/s
-- Other function --
Total time : 49488078 ns
Average runtime : 0.785525 ns/op
Ops per second : 1273033881 op/s
-- Average runtime ratio --
Mine / Other's : 1.39117
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 85558919 ns
Average runtime : 2.09088 ns/op
Ops per second : 478266912 op/s
-- Other function --
Total time : 28625936 ns
Average runtime : 0.699559 ns/op
Ops per second : 1429472908 op/s
-- Average runtime ratio --
Mine / Other's : 2.98886
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 28222819 ns
Average runtime : 1.37941 ns/op
Ops per second : 724945300 op/s
-- Other function --
Total time : 14267049 ns
Average runtime : 0.697314 ns/op
Ops per second : 1434073717 op/s
-- Average runtime ratio --
Mine / Other's : 1.97818 </code></pre></details></li>
<li><details><summary>roundf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 30577799 ns
Average runtime : 1.07717 ns/op
Ops per second : 928354588 op/s
-- Other function --
Total time : 20682943 ns
Average runtime : 0.728605 ns/op
Ops per second : 1372485530 op/s
-- Average runtime ratio --
Mine / Other's : 1.47841
Performance tests with inputs in low integral range:
-- My function --
Total time : 172827922 ns
Average runtime : 1.06303 ns/op
Ops per second : 940706328 op/s
-- Other function --
Total time : 118377075 ns
Average runtime : 0.728114 ns/op
Ops per second : 1373410518 op/s
-- Average runtime ratio --
Mine / Other's : 1.45998
Performance tests with inputs in high integral range:
-- My function --
Total time : 146390381 ns
Average runtime : 1.07031 ns/op
Ops per second : 934309474 op/s
-- Other function --
Total time : 100645590 ns
Average runtime : 0.735854 ns/op
Ops per second : 1358965852 op/s
-- Average runtime ratio --
Mine / Other's : 1.45451
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 690906291 ns
Average runtime : 1.02953 ns/op
Ops per second : 971316325 op/s
-- Other function --
Total time : 460659954 ns
Average runtime : 0.686437 ns/op
Ops per second : 1456798130 op/s
-- Average runtime ratio --
Mine / Other's : 1.49982
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 345550538 ns
Average runtime : 1.02982 ns/op
Ops per second : 971042562 op/s
-- Other function --
Total time : 230436727 ns
Average runtime : 0.686755 ns/op
Ops per second : 1456123268 op/s
-- Average runtime ratio --
Mine / Other's : 1.49955 </code></pre></details></li>
<li><details><summary>roundf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 176421143 ns
Average runtime : 2.17804 ns/op
Ops per second : 459128643 op/s
-- Other function --
Total time : 62396566 ns
Average runtime : 0.770328 ns/op
Ops per second : 1298148362 op/s
-- Average runtime ratio --
Mine / Other's : 2.82742
Performance tests with inputs in low integral range:
-- My function --
Total time : 223069865 ns
Average runtime : 1.7704 ns/op
Ops per second : 564845457 op/s
-- Other function --
Total time : 93863525 ns
Average runtime : 0.744949 ns/op
Ops per second : 1342374474 op/s
-- Average runtime ratio --
Mine / Other's : 2.37653
Performance tests with inputs in high integral range:
-- My function --
Total time : 71912679 ns
Average runtime : 1.14147 ns/op
Ops per second : 876062481 op/s
-- Other function --
Total time : 49532063 ns
Average runtime : 0.786223 ns/op
Ops per second : 1271903413 op/s
-- Average runtime ratio --
Mine / Other's : 1.45184
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 100788168 ns
Average runtime : 2.46305 ns/op
Ops per second : 406000037 op/s
-- Other function --
Total time : 29107829 ns
Average runtime : 0.711335 ns/op
Ops per second : 1405807351 op/s
-- Average runtime ratio --
Mine / Other's : 3.46258
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 35284668 ns
Average runtime : 1.72457 ns/op
Ops per second : 579855250 op/s
-- Other function --
Total time : 14239746 ns
Average runtime : 0.69598 ns/op
Ops per second : 1436823381 op/s
-- Average runtime ratio --
Mine / Other's : 2.4779 </code></pre></details></li>
<li><details><summary>roundevenf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 44285848 ns
Average runtime : 1.56007 ns/op
Ops per second : 640995742 op/s
-- Other function --
Total time : 30807902 ns
Average runtime : 1.08528 ns/op
Ops per second : 921420744 op/s
-- Average runtime ratio --
Mine / Other's : 1.43748
Performance tests with inputs in low integral range:
-- My function --
Total time : 235301799 ns
Average runtime : 1.4473 ns/op
Ops per second : 690943803 op/s
-- Other function --
Total time : 174150838 ns
Average runtime : 1.07117 ns/op
Ops per second : 933560365 op/s
-- Average runtime ratio --
Mine / Other's : 1.35114
Performance tests with inputs in high integral range:
-- My function --
Total time : 152473918 ns
Average runtime : 1.11479 ns/op
Ops per second : 897031582 op/s
-- Other function --
Total time : 146988769 ns
Average runtime : 1.07468 ns/op
Ops per second : 930505921 op/s
-- Average runtime ratio --
Mine / Other's : 1.03732
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1481693442 ns
Average runtime : 2.2079 ns/op
Ops per second : 452919977 op/s
-- Other function --
Total time : 691564494 ns
Average runtime : 1.03051 ns/op
Ops per second : 970391866 op/s
-- Average runtime ratio --
Mine / Other's : 2.14252
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 472099202 ns
Average runtime : 1.40697 ns/op
Ops per second : 710749517 op/s
-- Other function --
Total time : 345915487 ns
Average runtime : 1.03091 ns/op
Ops per second : 970018089 op/s
-- Average runtime ratio --
Mine / Other's : 1.36478 </code></pre></details></li>
<li><details><summary>roundevenf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 150420939 ns
Average runtime : 1.85705 ns/op
Ops per second : 538488860 op/s
-- Other function --
Total time : 62955404 ns
Average runtime : 0.777227 ns/op
Ops per second : 1286625052 op/s
-- Average runtime ratio --
Mine / Other's : 2.38933
Performance tests with inputs in low integral range:
-- My function --
Total time : 185886149 ns
Average runtime : 1.47529 ns/op
Ops per second : 677834258 op/s
-- Other function --
Total time : 94339396 ns
Average runtime : 0.748725 ns/op
Ops per second : 1335603208 op/s
-- Average runtime ratio --
Mine / Other's : 1.9704
Performance tests with inputs in high integral range:
-- My function --
Total time : 74434978 ns
Average runtime : 1.18151 ns/op
Ops per second : 846376282 op/s
-- Other function --
Total time : 49554932 ns
Average runtime : 0.786586 ns/op
Ops per second : 1271316445 op/s
-- Average runtime ratio --
Mine / Other's : 1.50207
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 101967855 ns
Average runtime : 2.49188 ns/op
Ops per second : 401302940 op/s
-- Other function --
Total time : 29097738 ns
Average runtime : 0.711088 ns/op
Ops per second : 1406294881 op/s
-- Average runtime ratio --
Mine / Other's : 3.50432
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 30650065 ns
Average runtime : 1.49805 ns/op
Ops per second : 667535289 op/s
-- Other function --
Total time : 14244792 ns
Average runtime : 0.696226 ns/op
Ops per second : 1436314408 op/s
-- Average runtime ratio --
Mine / Other's : 2.15167 </code></pre></details></li>
</li></ul></details>
</ul>
After:
<ul>
<li><details><summary>Intel Core i7-13700H, Clang 18</summary><ul>
<li><details><summary>ceilf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 30750577 ns
Average runtime : 1.08326 ns/op
Ops per second : 923138450 op/s
-- Other function --
Total time : 38128650 ns
Average runtime : 1.34317 ns/op
Ops per second : 744506820 op/s
-- Average runtime ratio --
Mine / Other's : 0.806495
Performance tests with inputs in low integral range:
-- My function --
Total time : 181780280 ns
Average runtime : 1.1181 ns/op
Ops per second : 894378202 op/s
-- Other function --
Total time : 222394835 ns
Average runtime : 1.36791 ns/op
Ops per second : 731043596 op/s
-- Average runtime ratio --
Mine / Other's : 0.817376
Performance tests with inputs in high integral range:
-- My function --
Total time : 154704402 ns
Average runtime : 1.1311 ns/op
Ops per second : 884098436 op/s
-- Other function --
Total time : 189286479 ns
Average runtime : 1.38394 ns/op
Ops per second : 722576280 op/s
-- Average runtime ratio --
Mine / Other's : 0.817303
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 712528181 ns
Average runtime : 1.06175 ns/op
Ops per second : 941841428 op/s
-- Other function --
Total time : 907474156 ns
Average runtime : 1.35224 ns/op
Ops per second : 739512586 op/s
-- Average runtime ratio --
Mine / Other's : 0.785177
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 356241988 ns
Average runtime : 1.06168 ns/op
Ops per second : 941899863 op/s
-- Other function --
Total time : 455059577 ns
Average runtime : 1.35618 ns/op
Ops per second : 737363406 op/s
-- Average runtime ratio --
Mine / Other's : 0.782847 </code></pre></details></li>
<li><details><summary>ceilf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 179273410 ns
Average runtime : 2.21325 ns/op
Ops per second : 451823837 op/s
-- Other function --
Total time : 92611976 ns
Average runtime : 1.14336 ns/op
Ops per second : 874616906 op/s
-- Average runtime ratio --
Mine / Other's : 1.93575
Performance tests with inputs in low integral range:
-- My function --
Total time : 480965043 ns
Average runtime : 3.81718 ns/op
Ops per second : 261973301 op/s
-- Other function --
Total time : 140102849 ns
Average runtime : 1.11193 ns/op
Ops per second : 899339313 op/s
-- Average runtime ratio --
Mine / Other's : 3.43294
Performance tests with inputs in high integral range:
-- My function --
Total time : 109238264 ns
Average runtime : 1.73394 ns/op
Ops per second : 576720992 op/s
-- Other function --
Total time : 73628007 ns
Average runtime : 1.1687 ns/op
Ops per second : 855652659 op/s
-- Average runtime ratio --
Mine / Other's : 1.48365
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 576413499 ns
Average runtime : 14.0864 ns/op
Ops per second : 70990703 op/s
-- Other function --
Total time : 43597017 ns
Average runtime : 1.06542 ns/op
Ops per second : 938596326 op/s
-- Average runtime ratio --
Mine / Other's : 13.2214
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 78369728 ns
Average runtime : 3.83039 ns/op
Ops per second : 261070192 op/s
-- Other function --
Total time : 21788295 ns
Average runtime : 1.06492 ns/op
Ops per second : 939036303 op/s
-- Average runtime ratio --
Mine / Other's : 3.59687 </code></pre></details></li>
<li><details><summary>roundf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 38131152 ns
Average runtime : 1.34326 ns/op
Ops per second : 744457969 op/s
-- Other function --
Total time : 58441231 ns
Average runtime : 2.05873 ns/op
Ops per second : 485736517 op/s
-- Average runtime ratio --
Mine / Other's : 0.65247
Performance tests with inputs in low integral range:
-- My function --
Total time : 222653601 ns
Average runtime : 1.3695 ns/op
Ops per second : 730193984 op/s
-- Other function --
Total time : 307670117 ns
Average runtime : 1.89242 ns/op
Ops per second : 528424149 op/s
-- Average runtime ratio --
Mine / Other's : 0.723676
Performance tests with inputs in high integral range:
-- My function --
Total time : 189061464 ns
Average runtime : 1.38229 ns/op
Ops per second : 723436268 op/s
-- Other function --
Total time : 300900938 ns
Average runtime : 2.19999 ns/op
Ops per second : 454548001 op/s
-- Average runtime ratio --
Mine / Other's : 0.628318
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 885454038 ns
Average runtime : 1.31943 ns/op
Ops per second : 757903325 op/s
-- Other function --
Total time : 1086645169 ns
Average runtime : 1.61923 ns/op
Ops per second : 617578377 op/s
-- Average runtime ratio --
Mine / Other's : 0.814851
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 442689696 ns
Average runtime : 1.31932 ns/op
Ops per second : 757967224 op/s
-- Other function --
Total time : 614393578 ns
Average runtime : 1.83104 ns/op
Ops per second : 546138976 op/s
-- Average runtime ratio --
Mine / Other's : 0.720531 </code></pre></details></li>
<li><details><summary>roundf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 176514941 ns
Average runtime : 2.1792 ns/op
Ops per second : 458884667 op/s
-- Other function --
Total time : 92623986 ns
Average runtime : 1.14351 ns/op
Ops per second : 874503500 op/s
-- Average runtime ratio --
Mine / Other's : 1.90572
Performance tests with inputs in low integral range:
-- My function --
Total time : 311345958 ns
Average runtime : 2.471 ns/op
Ops per second : 404694510 op/s
-- Other function --
Total time : 140129378 ns
Average runtime : 1.11214 ns/op
Ops per second : 899169052 op/s
-- Average runtime ratio --
Mine / Other's : 2.22185
Performance tests with inputs in high integral range:
-- My function --
Total time : 80738062 ns
Average runtime : 1.28156 ns/op
Ops per second : 780301117 op/s
-- Other function --
Total time : 73623394 ns
Average runtime : 1.16863 ns/op
Ops per second : 855706271 op/s
-- Average runtime ratio --
Mine / Other's : 1.09664
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 391016442 ns
Average runtime : 9.55563 ns/op
Ops per second : 104650330 op/s
-- Other function --
Total time : 43561230 ns
Average runtime : 1.06455 ns/op
Ops per second : 939367414 op/s
-- Average runtime ratio --
Mine / Other's : 8.97625
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 50076151 ns
Average runtime : 2.44751 ns/op
Ops per second : 408577727 op/s
-- Other function --
Total time : 21780874 ns
Average runtime : 1.06456 ns/op
Ops per second : 939356244 op/s
-- Average runtime ratio --
Mine / Other's : 2.29909 </code></pre></details></li>
<li><details><summary>roundevenf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 30793450 ns
Average runtime : 1.08477 ns/op
Ops per second : 921853186 op/s
-- Other function --
Total time : 38131804 ns
Average runtime : 1.34328 ns/op
Ops per second : 744445240 op/s
-- Average runtime ratio --
Mine / Other's : 0.807553
Performance tests with inputs in low integral range:
-- My function --
Total time : 182786948 ns
Average runtime : 1.12429 ns/op
Ops per second : 889452566 op/s
-- Other function --
Total time : 226240375 ns
Average runtime : 1.39156 ns/op
Ops per second : 718617620 op/s
-- Average runtime ratio --
Mine / Other's : 0.807932
Performance tests with inputs in high integral range:
-- My function --
Total time : 156571116 ns
Average runtime : 1.14474 ns/op
Ops per second : 873557802 op/s
-- Other function --
Total time : 194374342 ns
Average runtime : 1.42114 ns/op
Ops per second : 703662420 op/s
-- Average runtime ratio --
Mine / Other's : 0.805513
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 712912263 ns
Average runtime : 1.06232 ns/op
Ops per second : 941334010 op/s
-- Other function --
Total time : 893848503 ns
Average runtime : 1.33194 ns/op
Ops per second : 750785572 op/s
-- Average runtime ratio --
Mine / Other's : 0.797576
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 355906225 ns
Average runtime : 1.06068 ns/op
Ops per second : 942788455 op/s
-- Other function --
Total time : 449321783 ns
Average runtime : 1.33908 ns/op
Ops per second : 746779463 op/s
-- Average runtime ratio --
Mine / Other's : 0.792097 </code></pre></details></li>
<li><details><summary>roundevenf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 219586754 ns
Average runtime : 2.71095 ns/op
Ops per second : 368874709 op/s
-- Other function --
Total time : 92638826 ns
Average runtime : 1.14369 ns/op
Ops per second : 874363412 op/s
-- Average runtime ratio --
Mine / Other's : 2.37035
Performance tests with inputs in low integral range:
-- My function --
Total time : 443718299 ns
Average runtime : 3.52157 ns/op
Ops per second : 283963948 op/s
-- Other function --
Total time : 140122896 ns
Average runtime : 1.11209 ns/op
Ops per second : 899210647 op/s
-- Average runtime ratio --
Mine / Other's : 3.16664
Performance tests with inputs in high integral range:
-- My function --
Total time : 92622290 ns
Average runtime : 1.4702 ns/op
Ops per second : 680181843 op/s
-- Other function --
Total time : 73653845 ns
Average runtime : 1.16911 ns/op
Ops per second : 855352493 op/s
-- Average runtime ratio --
Mine / Other's : 1.25754
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 376060342 ns
Average runtime : 9.19014 ns/op
Ops per second : 108812324 op/s
-- Other function --
Total time : 43562926 ns
Average runtime : 1.06459 ns/op
Ops per second : 939330842 op/s
-- Average runtime ratio --
Mine / Other's : 8.63258
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 72291822 ns
Average runtime : 3.53332 ns/op
Ops per second : 283019564 op/s
-- Other function --
Total time : 21781103 ns
Average runtime : 1.06457 ns/op
Ops per second : 939346368 op/s
-- Average runtime ratio --
Mine / Other's : 3.31902 </code></pre></details></li>
</li></ul></details>
<li><details><summary>Intel Core i7-13700H, Clang 18, <code>-march=native</code></summary><ul>
<li><details><summary>ceilf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 38131258 ns
Average runtime : 1.34326 ns/op
Ops per second : 744455900 op/s
-- Other function --
Total time : 30980793 ns
Average runtime : 1.09137 ns/op
Ops per second : 916278676 op/s
-- Average runtime ratio --
Mine / Other's : 1.2308
Performance tests with inputs in low integral range:
-- My function --
Total time : 226225005 ns
Average runtime : 1.39147 ns/op
Ops per second : 718666444 op/s
-- Other function --
Total time : 181138307 ns
Average runtime : 1.11415 ns/op
Ops per second : 897547971 op/s
-- Average runtime ratio --
Mine / Other's : 1.24891
Performance tests with inputs in high integral range:
-- My function --
Total time : 192174550 ns
Average runtime : 1.40505 ns/op
Ops per second : 711717134 op/s
-- Other function --
Total time : 151845312 ns
Average runtime : 1.11019 ns/op
Ops per second : 900745095 op/s
-- Average runtime ratio --
Mine / Other's : 1.26559
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 889703411 ns
Average runtime : 1.32576 ns/op
Ops per second : 754283451 op/s
-- Other function --
Total time : 708319891 ns
Average runtime : 1.05548 ns/op
Ops per second : 947437123 op/s
-- Average runtime ratio --
Mine / Other's : 1.25608
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 445056036 ns
Average runtime : 1.32637 ns/op
Ops per second : 753937151 op/s
-- Other function --
Total time : 354155653 ns
Average runtime : 1.05547 ns/op
Ops per second : 947448606 op/s
-- Average runtime ratio --
Mine / Other's : 1.25667 </code></pre></details></li>
<li><details><summary>ceilf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 179239953 ns
Average runtime : 2.21284 ns/op
Ops per second : 451908174 op/s
-- Other function --
Total time : 90238957 ns
Average runtime : 1.11406 ns/op
Ops per second : 897616757 op/s
-- Average runtime ratio --
Mine / Other's : 1.98628
Performance tests with inputs in low integral range:
-- My function --
Total time : 479884465 ns
Average runtime : 3.80861 ns/op
Ops per second : 262563198 op/s
-- Other function --
Total time : 137758206 ns
Average runtime : 1.09332 ns/op
Ops per second : 914646057 op/s
-- Average runtime ratio --
Mine / Other's : 3.48353
Performance tests with inputs in high integral range:
-- My function --
Total time : 80787086 ns
Average runtime : 1.28233 ns/op
Ops per second : 779827607 op/s
-- Other function --
Total time : 71253636 ns
Average runtime : 1.13101 ns/op
Ops per second : 884165405 op/s
-- Average runtime ratio --
Mine / Other's : 1.1338
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 376392314 ns
Average runtime : 9.19825 ns/op
Ops per second : 108716353 op/s
-- Other function --
Total time : 43553590 ns
Average runtime : 1.06436 ns/op
Ops per second : 939532194 op/s
-- Average runtime ratio --
Mine / Other's : 8.64205
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 78130124 ns
Average runtime : 3.81868 ns/op
Ops per second : 261870824 op/s
-- Other function --
Total time : 21809700 ns
Average runtime : 1.06597 ns/op
Ops per second : 938114692 op/s
-- Average runtime ratio --
Mine / Other's : 3.58236 </code></pre></details></li>
<li><details><summary>roundf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 38131440 ns
Average runtime : 1.34327 ns/op
Ops per second : 744452346 op/s
-- Other function --
Total time : 57100519 ns
Average runtime : 2.0115 ns/op
Ops per second : 497141540 op/s
-- Average runtime ratio --
Mine / Other's : 0.667795
Performance tests with inputs in low integral range:
-- My function --
Total time : 222439779 ns
Average runtime : 1.36818 ns/op
Ops per second : 730895888 op/s
-- Other function --
Total time : 266392499 ns
Average runtime : 1.63853 ns/op
Ops per second : 610303670 op/s
-- Average runtime ratio --
Mine / Other's : 0.835008
Performance tests with inputs in high integral range:
-- My function --
Total time : 188341275 ns
Average runtime : 1.37703 ns/op
Ops per second : 726202580 op/s
-- Other function --
Total time : 317824106 ns
Average runtime : 2.32372 ns/op
Ops per second : 430344701 op/s
-- Average runtime ratio --
Mine / Other's : 0.592596
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 820870995 ns
Average runtime : 1.22319 ns/op
Ops per second : 817532309 op/s
-- Other function --
Total time : 1087329979 ns
Average runtime : 1.62025 ns/op
Ops per second : 617189420 op/s
-- Average runtime ratio --
Mine / Other's : 0.754942
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 423836190 ns
Average runtime : 1.26313 ns/op
Ops per second : 791683881 op/s
-- Other function --
Total time : 531276114 ns
Average runtime : 1.58333 ns/op
Ops per second : 631581716 op/s
-- Average runtime ratio --
Mine / Other's : 0.79777 </code></pre></details></li>
<li><details><summary>roundf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 168433848 ns
Average runtime : 2.07943 ns/op
Ops per second : 480900964 op/s
-- Other function --
Total time : 90237239 ns
Average runtime : 1.11404 ns/op
Ops per second : 897633847 op/s
-- Average runtime ratio --
Mine / Other's : 1.86657
Performance tests with inputs in low integral range:
-- My function --
Total time : 312122327 ns
Average runtime : 2.47716 ns/op
Ops per second : 403687878 op/s
-- Other function --
Total time : 137834199 ns
Average runtime : 1.09392 ns/op
Ops per second : 914141779 op/s
-- Average runtime ratio --
Mine / Other's : 2.26448
Performance tests with inputs in high integral range:
-- My function --
Total time : 92621421 ns
Average runtime : 1.47018 ns/op
Ops per second : 680188225 op/s
-- Other function --
Total time : 71274128 ns
Average runtime : 1.13134 ns/op
Ops per second : 883911199 op/s
-- Average runtime ratio --
Mine / Other's : 1.29951
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 312983254 ns
Average runtime : 7.64866 ns/op
Ops per second : 130741819 op/s
-- Other function --
Total time : 43547210 ns
Average runtime : 1.0642 ns/op
Ops per second : 939669843 op/s
-- Average runtime ratio --
Mine / Other's : 7.18722
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 49988458 ns
Average runtime : 2.44323 ns/op
Ops per second : 409294481 op/s
-- Other function --
Total time : 21774053 ns
Average runtime : 1.06423 ns/op
Ops per second : 939650509 op/s
-- Average runtime ratio --
Mine / Other's : 2.29578 </code></pre></details></li>
<li><details><summary>roundevenf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 38139630 ns
Average runtime : 1.34356 ns/op
Ops per second : 744292485 op/s
-- Other function --
Total time : 31015497 ns
Average runtime : 1.09259 ns/op
Ops per second : 915253429 op/s
-- Average runtime ratio --
Mine / Other's : 1.2297
Performance tests with inputs in low integral range:
-- My function --
Total time : 227886243 ns
Average runtime : 1.40168 ns/op
Ops per second : 713427532 op/s
-- Other function --
Total time : 183571175 ns
Average runtime : 1.12911 ns/op
Ops per second : 885652772 op/s
-- Average runtime ratio --
Mine / Other's : 1.24141
Performance tests with inputs in high integral range:
-- My function --
Total time : 192315251 ns
Average runtime : 1.40608 ns/op
Ops per second : 711196430 op/s
-- Other function --
Total time : 156334640 ns
Average runtime : 1.14301 ns/op
Ops per second : 874879169 op/s
-- Average runtime ratio --
Mine / Other's : 1.23015
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 889636155 ns
Average runtime : 1.32566 ns/op
Ops per second : 754340475 op/s
-- Other function --
Total time : 711790069 ns
Average runtime : 1.06065 ns/op
Ops per second : 942818099 op/s
-- Average runtime ratio --
Mine / Other's : 1.24986
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 444802680 ns
Average runtime : 1.32562 ns/op
Ops per second : 754366587 op/s
-- Other function --
Total time : 355907443 ns
Average runtime : 1.06069 ns/op
Ops per second : 942785228 op/s
-- Average runtime ratio --
Mine / Other's : 1.24977 </code></pre></details></li>
<li><details><summary>roundevenf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 183125771 ns
Average runtime : 2.26081 ns/op
Ops per second : 442318956 op/s
-- Other function --
Total time : 90243895 ns
Average runtime : 1.11412 ns/op
Ops per second : 897567641 op/s
-- Average runtime ratio --
Mine / Other's : 2.02923
Performance tests with inputs in low integral range:
-- My function --
Total time : 445974254 ns
Average runtime : 3.53948 ns/op
Ops per second : 282527520 op/s
-- Other function --
Total time : 137733929 ns
Average runtime : 1.09313 ns/op
Ops per second : 914807273 op/s
-- Average runtime ratio --
Mine / Other's : 3.23794
Performance tests with inputs in high integral range:
-- My function --
Total time : 92614577 ns
Average runtime : 1.47007 ns/op
Ops per second : 680238489 op/s
-- Other function --
Total time : 71288739 ns
Average runtime : 1.13157 ns/op
Ops per second : 883730037 op/s
-- Average runtime ratio --
Mine / Other's : 1.29915
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 308051281 ns
Average runtime : 7.52813 ns/op
Ops per second : 132835026 op/s
-- Other function --
Total time : 43541542 ns
Average runtime : 1.06407 ns/op
Ops per second : 939792164 op/s
-- Average runtime ratio --
Mine / Other's : 7.07488
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 72138877 ns
Average runtime : 3.52585 ns/op
Ops per second : 283619607 op/s
-- Other function --
Total time : 21770410 ns
Average runtime : 1.06405 ns/op
Ops per second : 939807748 op/s
-- Average runtime ratio --
Mine / Other's : 3.31362 </code></pre></details></li>
</li></ul></details>
<li><details><summary>Intel Core i7-13700H, GCC 14</summary><ul>
<li><details><summary>ceilf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 38131634 ns
Average runtime : 1.34328 ns/op
Ops per second : 744448559 op/s
-- Other function --
Total time : 38129047 ns
Average runtime : 1.34319 ns/op
Ops per second : 744499069 op/s
-- Average runtime ratio --
Mine / Other's : 1.00007
Performance tests with inputs in low integral range:
-- My function --
Total time : 180372834 ns
Average runtime : 1.10944 ns/op
Ops per second : 901357019 op/s
-- Other function --
Total time : 182209315 ns
Average runtime : 1.12073 ns/op
Ops per second : 892272274 op/s
-- Average runtime ratio --
Mine / Other's : 0.989921
Performance tests with inputs in high integral range:
-- My function --
Total time : 189400343 ns
Average runtime : 1.38477 ns/op
Ops per second : 722141881 op/s
-- Other function --
Total time : 152944441 ns
Average runtime : 1.11823 ns/op
Ops per second : 894271927 op/s
-- Average runtime ratio --
Mine / Other's : 1.23836
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 875873802 ns
Average runtime : 1.30515 ns/op
Ops per second : 766193210 op/s
-- Other function --
Total time : 708278288 ns
Average runtime : 1.05542 ns/op
Ops per second : 947492774 op/s
-- Average runtime ratio --
Mine / Other's : 1.23662
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 431819224 ns
Average runtime : 1.28692 ns/op
Ops per second : 777048036 op/s
-- Other function --
Total time : 354123557 ns
Average runtime : 1.05537 ns/op
Ops per second : 947534478 op/s
-- Average runtime ratio --
Mine / Other's : 1.2194 </code></pre></details></li>
<li><details><summary>ceilf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 175655382 ns
Average runtime : 2.16858 ns/op
Ops per second : 461130191 op/s
-- Other function --
Total time : 90246421 ns
Average runtime : 1.11415 ns/op
Ops per second : 897542518 op/s
-- Average runtime ratio --
Mine / Other's : 1.9464
Performance tests with inputs in low integral range:
-- My function --
Total time : 209465394 ns
Average runtime : 1.66242 ns/op
Ops per second : 601531344 op/s
-- Other function --
Total time : 140109532 ns
Average runtime : 1.11198 ns/op
Ops per second : 899296416 op/s
-- Average runtime ratio --
Mine / Other's : 1.49501
Performance tests with inputs in high integral range:
-- My function --
Total time : 106441063 ns
Average runtime : 1.68954 ns/op
Ops per second : 591876839 op/s
-- Other function --
Total time : 87918487 ns
Average runtime : 1.39553 ns/op
Ops per second : 716572840 op/s
-- Average runtime ratio --
Mine / Other's : 1.21068
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 271153366 ns
Average runtime : 6.62643 ns/op
Ops per second : 150910905 op/s
-- Other function --
Total time : 43431072 ns
Average runtime : 1.06137 ns/op
Ops per second : 942182592 op/s
-- Average runtime ratio --
Mine / Other's : 6.2433
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 36970698 ns
Average runtime : 1.80697 ns/op
Ops per second : 553411244 op/s
-- Other function --
Total time : 23064081 ns
Average runtime : 1.12728 ns/op
Ops per second : 887093658 op/s
-- Average runtime ratio --
Mine / Other's : 1.60296 </code></pre></details></li>
<li><details><summary>roundf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 75582590 ns
Average runtime : 2.66257 ns/op
Ops per second : 375576438 op/s
-- Other function --
Total time : 60504375 ns
Average runtime : 2.13141 ns/op
Ops per second : 469173344 op/s
-- Average runtime ratio --
Mine / Other's : 1.24921
Performance tests with inputs in low integral range:
-- My function --
Total time : 393604404 ns
Average runtime : 2.42098 ns/op
Ops per second : 413055134 op/s
-- Other function --
Total time : 265256313 ns
Average runtime : 1.63154 ns/op
Ops per second : 612917815 op/s
-- Average runtime ratio --
Mine / Other's : 1.48386
Performance tests with inputs in high integral range:
-- My function --
Total time : 408150533 ns
Average runtime : 2.98413 ns/op
Ops per second : 335106557 op/s
-- Other function --
Total time : 278614133 ns
Average runtime : 2.03704 ns/op
Ops per second : 490908047 op/s
-- Average runtime ratio --
Mine / Other's : 1.46493
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1507641049 ns
Average runtime : 2.24656 ns/op
Ops per second : 445124892 op/s
-- Other function --
Total time : 1086827219 ns
Average runtime : 1.6195 ns/op
Ops per second : 617474929 op/s
-- Average runtime ratio --
Mine / Other's : 1.38719
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 882270149 ns
Average runtime : 2.62937 ns/op
Ops per second : 380319203 op/s
-- Other function --
Total time : 531238758 ns
Average runtime : 1.58322 ns/op
Ops per second : 631626128 op/s
-- Average runtime ratio --
Mine / Other's : 1.66078 </code></pre></details></li>
<li><details><summary>roundf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 199649594 ns
Average runtime : 2.46481 ns/op
Ops per second : 405710817 op/s
-- Other function --
Total time : 90240122 ns
Average runtime : 1.11408 ns/op
Ops per second : 897605169 op/s
-- Average runtime ratio --
Mine / Other's : 2.21243
Performance tests with inputs in low integral range:
-- My function --
Total time : 186952055 ns
Average runtime : 1.48375 ns/op
Ops per second : 673969590 op/s
-- Other function --
Total time : 140147213 ns
Average runtime : 1.11228 ns/op
Ops per second : 899054624 op/s
-- Average runtime ratio --
Mine / Other's : 1.33397
Performance tests with inputs in high integral range:
-- My function --
Total time : 92699290 ns
Average runtime : 1.47142 ns/op
Ops per second : 679616855 op/s
-- Other function --
Total time : 87860539 ns
Average runtime : 1.39461 ns/op
Ops per second : 717045453 op/s
-- Average runtime ratio --
Mine / Other's : 1.05507
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 202303796 ns
Average runtime : 4.94389 ns/op
Ops per second : 202270055 op/s
-- Other function --
Total time : 43439390 ns
Average runtime : 1.06157 ns/op
Ops per second : 942002178 op/s
-- Average runtime ratio --
Mine / Other's : 4.65715
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 30189235 ns
Average runtime : 1.47552 ns/op
Ops per second : 677725023 op/s
-- Other function --
Total time : 21728524 ns
Average runtime : 1.062 ns/op
Ops per second : 941619412 op/s
-- Average runtime ratio --
Mine / Other's : 1.38938 </code></pre></details></li>
<li><details><summary>roundevenf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 38131125 ns
Average runtime : 1.34326 ns/op
Ops per second : 744458496 op/s
-- Other function --
Total time : 38141677 ns
Average runtime : 1.34363 ns/op
Ops per second : 744252540 op/s
-- Average runtime ratio --
Mine / Other's : 0.999723
Performance tests with inputs in low integral range:
-- My function --
Total time : 179941908 ns
Average runtime : 1.10679 ns/op
Ops per second : 903515594 op/s
-- Other function --
Total time : 183122897 ns
Average runtime : 1.12635 ns/op
Ops per second : 887820816 op/s
-- Average runtime ratio --
Mine / Other's : 0.982629
Performance tests with inputs in high integral range:
-- My function --
Total time : 189166368 ns
Average runtime : 1.38306 ns/op
Ops per second : 723035079 op/s
-- Other function --
Total time : 155840195 ns
Average runtime : 1.1394 ns/op
Ops per second : 877654959 op/s
-- Average runtime ratio --
Mine / Other's : 1.21385
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 940722542 ns
Average runtime : 1.40179 ns/op
Ops per second : 713375655 op/s
-- Other function --
Total time : 708381725 ns
Average runtime : 1.05557 ns/op
Ops per second : 947354422 op/s
-- Average runtime ratio --
Mine / Other's : 1.32799
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 443504450 ns
Average runtime : 1.32175 ns/op
Ops per second : 756574776 op/s
-- Other function --
Total time : 354581843 ns
Average runtime : 1.05674 ns/op
Ops per second : 946309819 op/s
-- Average runtime ratio --
Mine / Other's : 1.25078 </code></pre></details></li>
<li><details><summary>roundevenf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 164764607 ns
Average runtime : 2.03413 ns/op
Ops per second : 491610434 op/s
-- Other function --
Total time : 90246450 ns
Average runtime : 1.11415 ns/op
Ops per second : 897542230 op/s
-- Average runtime ratio --
Mine / Other's : 1.82572
Performance tests with inputs in low integral range:
-- My function --
Total time : 242528673 ns
Average runtime : 1.92483 ns/op
Ops per second : 519526200 op/s
-- Other function --
Total time : 140116723 ns
Average runtime : 1.11204 ns/op
Ops per second : 899250262 op/s
-- Average runtime ratio --
Mine / Other's : 1.7309
Performance tests with inputs in high integral range:
-- My function --
Total time : 106869039 ns
Average runtime : 1.69633 ns/op
Ops per second : 589506564 op/s
-- Other function --
Total time : 87886665 ns
Average runtime : 1.39503 ns/op
Ops per second : 716832297 op/s
-- Average runtime ratio --
Mine / Other's : 1.21599
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 209736828 ns
Average runtime : 5.12553 ns/op
Ops per second : 195101644 op/s
-- Other function --
Total time : 43425950 ns
Average runtime : 1.06124 ns/op
Ops per second : 942293720 op/s
-- Average runtime ratio --
Mine / Other's : 4.82976
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 42099673 ns
Average runtime : 2.05766 ns/op
Ops per second : 485989523 op/s
-- Other function --
Total time : 21749710 ns
Average runtime : 1.06304 ns/op
Ops per second : 940702197 op/s
-- Average runtime ratio --
Mine / Other's : 1.93564 </code></pre></details></li>
</li></ul></details>
<li><details><summary>Intel Core i7-13700H, GCC 14, <code>-march=native</code></summary><ul>
<li><details><summary>ceilf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 30990512 ns
Average runtime : 1.09171 ns/op
Ops per second : 915991320 op/s
-- Other function --
Total time : 30991829 ns
Average runtime : 1.09176 ns/op
Ops per second : 915952395 op/s
-- Average runtime ratio --
Mine / Other's : 0.999958
Performance tests with inputs in low integral range:
-- My function --
Total time : 223599312 ns
Average runtime : 1.37532 ns/op
Ops per second : 727105636 op/s
-- Other function --
Total time : 189448155 ns
Average runtime : 1.16526 ns/op
Ops per second : 858178428 op/s
-- Average runtime ratio --
Mine / Other's : 1.18027
Performance tests with inputs in high integral range:
-- My function --
Total time : 151303578 ns
Average runtime : 1.10623 ns/op
Ops per second : 903970162 op/s
-- Other function --
Total time : 152650323 ns
Average runtime : 1.11608 ns/op
Ops per second : 895994959 op/s
-- Average runtime ratio --
Mine / Other's : 0.991178
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 708427580 ns
Average runtime : 1.05564 ns/op
Ops per second : 947293102 op/s
-- Other function --
Total time : 709014581 ns
Average runtime : 1.05651 ns/op
Ops per second : 946508827 op/s
-- Average runtime ratio --
Mine / Other's : 0.999172
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 354193566 ns
Average runtime : 1.05558 ns/op
Ops per second : 947347191 op/s
-- Other function --
Total time : 354196098 ns
Average runtime : 1.05559 ns/op
Ops per second : 947340419 op/s
-- Average runtime ratio --
Mine / Other's : 0.999993 </code></pre></details></li>
<li><details><summary>ceilf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 153720378 ns
Average runtime : 1.89778 ns/op
Ops per second : 526930788 op/s
-- Other function --
Total time : 92626783 ns
Average runtime : 1.14354 ns/op
Ops per second : 874477093 op/s
-- Average runtime ratio --
Mine / Other's : 1.65957
Performance tests with inputs in low integral range:
-- My function --
Total time : 187646914 ns
Average runtime : 1.48926 ns/op
Ops per second : 671473872 op/s
-- Other function --
Total time : 171035928 ns
Average runtime : 1.35743 ns/op
Ops per second : 736687323 op/s
-- Average runtime ratio --
Mine / Other's : 1.09712
Performance tests with inputs in high integral range:
-- My function --
Total time : 92651941 ns
Average runtime : 1.47067 ns/op
Ops per second : 679964168 op/s
-- Other function --
Total time : 73613973 ns
Average runtime : 1.16848 ns/op
Ops per second : 855815783 op/s
-- Average runtime ratio --
Mine / Other's : 1.25862
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 84676514 ns
Average runtime : 2.06932 ns/op
Ops per second : 483250881 op/s
-- Other function --
Total time : 54235253 ns
Average runtime : 1.3254 ns/op
Ops per second : 754490810 op/s
-- Average runtime ratio --
Mine / Other's : 1.56128
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 30461323 ns
Average runtime : 1.48882 ns/op
Ops per second : 671671417 op/s
-- Other function --
Total time : 27116457 ns
Average runtime : 1.32534 ns/op
Ops per second : 754523350 op/s
-- Average runtime ratio --
Mine / Other's : 1.12335 </code></pre></details></li>
<li><details><summary>roundf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 68451703 ns
Average runtime : 2.41137 ns/op
Ops per second : 414701735 op/s
-- Other function --
Total time : 57089270 ns
Average runtime : 2.0111 ns/op
Ops per second : 497239498 op/s
-- Average runtime ratio --
Mine / Other's : 1.19903
Performance tests with inputs in low integral range:
-- My function --
Total time : 437228489 ns
Average runtime : 2.68931 ns/op
Ops per second : 371842924 op/s
-- Other function --
Total time : 265812991 ns
Average runtime : 1.63496 ns/op
Ops per second : 611634214 op/s
-- Average runtime ratio --
Mine / Other's : 1.64487
Performance tests with inputs in high integral range:
-- My function --
Total time : 414867654 ns
Average runtime : 3.03324 ns/op
Ops per second : 329680848 op/s
-- Other function --
Total time : 299213593 ns
Average runtime : 2.18765 ns/op
Ops per second : 457111318 op/s
-- Average runtime ratio --
Mine / Other's : 1.38653
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1416725199 ns
Average runtime : 2.11109 ns/op
Ops per second : 473690000 op/s
-- Other function --
Total time : 1086690589 ns
Average runtime : 1.6193 ns/op
Ops per second : 617552564 op/s
-- Average runtime ratio --
Mine / Other's : 1.30371
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 796860838 ns
Average runtime : 2.37483 ns/op
Ops per second : 421082658 op/s
-- Other function --
Total time : 531259190 ns
Average runtime : 1.58328 ns/op
Ops per second : 631601836 op/s
-- Average runtime ratio --
Mine / Other's : 1.49995 </code></pre></details></li>
<li><details><summary>roundf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 165374094 ns
Average runtime : 2.04166 ns/op
Ops per second : 489798601 op/s
-- Other function --
Total time : 92629527 ns
Average runtime : 1.14357 ns/op
Ops per second : 874451188 op/s
-- Average runtime ratio --
Mine / Other's : 1.78533
Performance tests with inputs in low integral range:
-- My function --
Total time : 187888325 ns
Average runtime : 1.49118 ns/op
Ops per second : 670611119 op/s
-- Other function --
Total time : 171019083 ns
Average runtime : 1.35729 ns/op
Ops per second : 736759885 op/s
-- Average runtime ratio --
Mine / Other's : 1.09864
Performance tests with inputs in high integral range:
-- My function --
Total time : 92676679 ns
Average runtime : 1.47106 ns/op
Ops per second : 679782666 op/s
-- Other function --
Total time : 73624853 ns
Average runtime : 1.16865 ns/op
Ops per second : 855689314 op/s
-- Average runtime ratio --
Mine / Other's : 1.25877
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 102181371 ns
Average runtime : 2.4971 ns/op
Ops per second : 400464386 op/s
-- Other function --
Total time : 54269080 ns
Average runtime : 1.32622 ns/op
Ops per second : 754020521 op/s
-- Average runtime ratio --
Mine / Other's : 1.88287
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 30147555 ns
Average runtime : 1.47349 ns/op
Ops per second : 678662000 op/s
-- Other function --
Total time : 27191601 ns
Average runtime : 1.32901 ns/op
Ops per second : 752438225 op/s
-- Average runtime ratio --
Mine / Other's : 1.10871 </code></pre></details></li>
<li><details><summary>roundevenf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 30983112 ns
Average runtime : 1.09145 ns/op
Ops per second : 916210095 op/s
-- Other function --
Total time : 31130698 ns
Average runtime : 1.09665 ns/op
Ops per second : 911866479 op/s
-- Average runtime ratio --
Mine / Other's : 0.995259
Performance tests with inputs in low integral range:
-- My function --
Total time : 223774435 ns
Average runtime : 1.37639 ns/op
Ops per second : 726536612 op/s
-- Other function --
Total time : 183262476 ns
Average runtime : 1.12721 ns/op
Ops per second : 887144622 op/s
-- Average runtime ratio --
Mine / Other's : 1.22106
Performance tests with inputs in high integral range:
-- My function --
Total time : 151870463 ns
Average runtime : 1.11038 ns/op
Ops per second : 900595924 op/s
-- Other function --
Total time : 156306958 ns
Average runtime : 1.14281 ns/op
Ops per second : 875034110 op/s
-- Average runtime ratio --
Mine / Other's : 0.971617
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 708351712 ns
Average runtime : 1.05553 ns/op
Ops per second : 947394562 op/s
-- Other function --
Total time : 708334983 ns
Average runtime : 1.0555 ns/op
Ops per second : 947416937 op/s
-- Average runtime ratio --
Mine / Other's : 1.00002
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 354175840 ns
Average runtime : 1.05553 ns/op
Ops per second : 947394604 op/s
-- Other function --
Total time : 354178344 ns
Average runtime : 1.05553 ns/op
Ops per second : 947387906 op/s
-- Average runtime ratio --
Mine / Other's : 0.999993 </code></pre></details></li>
<li><details><summary>roundevenf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 142876552 ns
Average runtime : 1.76391 ns/op
Ops per second : 566922975 op/s
-- Other function --
Total time : 92621760 ns
Average runtime : 1.14348 ns/op
Ops per second : 874524517 op/s
-- Average runtime ratio --
Mine / Other's : 1.54258
Performance tests with inputs in low integral range:
-- My function --
Total time : 220432424 ns
Average runtime : 1.74946 ns/op
Ops per second : 571603749 op/s
-- Other function --
Total time : 170986986 ns
Average runtime : 1.35704 ns/op
Ops per second : 736898187 op/s
-- Average runtime ratio --
Mine / Other's : 1.28918
Performance tests with inputs in high integral range:
-- My function --
Total time : 92665549 ns
Average runtime : 1.47088 ns/op
Ops per second : 679864315 op/s
-- Other function --
Total time : 73621995 ns
Average runtime : 1.1686 ns/op
Ops per second : 855722532 op/s
-- Average runtime ratio --
Mine / Other's : 1.25867
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 104154622 ns
Average runtime : 2.54532 ns/op
Ops per second : 392877427 op/s
-- Other function --
Total time : 54265745 ns
Average runtime : 1.32614 ns/op
Ops per second : 754066861 op/s
-- Average runtime ratio --
Mine / Other's : 1.91934
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 35358209 ns
Average runtime : 1.72816 ns/op
Ops per second : 578649218 op/s
-- Other function --
Total time : 27193701 ns
Average runtime : 1.32912 ns/op
Ops per second : 752380119 op/s
-- Average runtime ratio --
Mine / Other's : 1.30024 </code></pre></details></li>
</li></ul></details>
<li><details><summary>Google Tensor G3, Clang 17</summary><ul>
<li><details><summary>ceilf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 20709676 ns
Average runtime : 0.729547 ns/op
Ops per second : 1370713863 op/s
-- Other function --
Total time : 20724406 ns
Average runtime : 0.730066 ns/op
Ops per second : 1369739620 op/s
-- Average runtime ratio --
Mine / Other's : 0.999289
Performance tests with inputs in low integral range:
-- My function --
Total time : 118652181 ns
Average runtime : 0.729807 ns/op
Ops per second : 1370226140 op/s
-- Other function --
Total time : 118475383 ns
Average runtime : 0.728719 ns/op
Ops per second : 1372270896 op/s
-- Average runtime ratio --
Mine / Other's : 1.00149
Performance tests with inputs in high integral range:
-- My function --
Total time : 100743612 ns
Average runtime : 0.73657 ns/op
Ops per second : 1357643599 op/s
-- Other function --
Total time : 100786662 ns
Average runtime : 0.736885 ns/op
Ops per second : 1357063695 op/s
-- Average runtime ratio --
Mine / Other's : 0.999573
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 460970093 ns
Average runtime : 0.686899 ns/op
Ops per second : 1455818002 op/s
-- Other function --
Total time : 460579834 ns
Average runtime : 0.686318 ns/op
Ops per second : 1457051547 op/s
-- Average runtime ratio --
Mine / Other's : 1.00085
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 230319703 ns
Average runtime : 0.686406 ns/op
Ops per second : 1456863115 op/s
-- Other function --
Total time : 230386027 ns
Average runtime : 0.686604 ns/op
Ops per second : 1456443710 op/s
-- Average runtime ratio --
Mine / Other's : 0.999712 </code></pre></details></li>
<li><details><summary>ceilf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 61805745 ns
Average runtime : 0.763034 ns/op
Ops per second : 1310557780 op/s
-- Other function --
Total time : 62146159 ns
Average runtime : 0.767237 ns/op
Ops per second : 1303379022 op/s
-- Average runtime ratio --
Mine / Other's : 0.994522
Performance tests with inputs in low integral range:
-- My function --
Total time : 93051799 ns
Average runtime : 0.738506 ns/op
Ops per second : 1354084513 op/s
-- Other function --
Total time : 95069784 ns
Average runtime : 0.754522 ns/op
Ops per second : 1325342234 op/s
-- Average runtime ratio --
Mine / Other's : 0.978774
Performance tests with inputs in high integral range:
-- My function --
Total time : 49648519 ns
Average runtime : 0.788072 ns/op
Ops per second : 1268920025 op/s
-- Other function --
Total time : 49413533 ns
Average runtime : 0.784342 ns/op
Ops per second : 1274954373 op/s
-- Average runtime ratio --
Mine / Other's : 1.00476
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 28383382 ns
Average runtime : 0.693631 ns/op
Ops per second : 1441688661 op/s
-- Other function --
Total time : 28536377 ns
Average runtime : 0.69737 ns/op
Ops per second : 1433959188 op/s
-- Average runtime ratio --
Mine / Other's : 0.994639
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 14213786 ns
Average runtime : 0.694711 ns/op
Ops per second : 1439447589 op/s
-- Other function --
Total time : 14249105 ns
Average runtime : 0.696437 ns/op
Ops per second : 1435879657 op/s
-- Average runtime ratio --
Mine / Other's : 0.997521 </code></pre></details></li>
<li><details><summary>roundf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 30588908 ns
Average runtime : 1.07757 ns/op
Ops per second : 928017436 op/s
-- Other function --
Total time : 20739827 ns
Average runtime : 0.730609 ns/op
Ops per second : 1368721156 op/s
-- Average runtime ratio --
Mine / Other's : 1.47489
Performance tests with inputs in low integral range:
-- My function --
Total time : 173882732 ns
Average runtime : 1.06952 ns/op
Ops per second : 934999802 op/s
-- Other function --
Total time : 118463298 ns
Average runtime : 0.728645 ns/op
Ops per second : 1372410887 op/s
-- Average runtime ratio --
Mine / Other's : 1.46782
Performance tests with inputs in high integral range:
-- My function --
Total time : 147398031 ns
Average runtime : 1.07768 ns/op
Ops per second : 927922300 op/s
-- Other function --
Total time : 100637003 ns
Average runtime : 0.735791 ns/op
Ops per second : 1359081808 op/s
-- Average runtime ratio --
Mine / Other's : 1.46465
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 690920655 ns
Average runtime : 1.02955 ns/op
Ops per second : 971296132 op/s
-- Other function --
Total time : 460617961 ns
Average runtime : 0.686374 ns/op
Ops per second : 1456930942 op/s
-- Average runtime ratio --
Mine / Other's : 1.49999
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 345467448 ns
Average runtime : 1.02957 ns/op
Ops per second : 971276112 op/s
-- Other function --
Total time : 230408040 ns
Average runtime : 0.68667 ns/op
Ops per second : 1456304562 op/s
-- Average runtime ratio --
Mine / Other's : 1.49937 </code></pre></details></li>
<li><details><summary>roundf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 90756347 ns
Average runtime : 1.12045 ns/op
Ops per second : 892499562 op/s
-- Other function --
Total time : 62141805 ns
Average runtime : 0.767183 ns/op
Ops per second : 1303470344 op/s
-- Average runtime ratio --
Mine / Other's : 1.46047
Performance tests with inputs in low integral range:
-- My function --
Total time : 137839559 ns
Average runtime : 1.09396 ns/op
Ops per second : 914106232 op/s
-- Other function --
Total time : 93500691 ns
Average runtime : 0.742069 ns/op
Ops per second : 1347583623 op/s
-- Average runtime ratio --
Mine / Other's : 1.47421
Performance tests with inputs in high integral range:
-- My function --
Total time : 72241455 ns
Average runtime : 1.14669 ns/op
Ops per second : 872075458 op/s
-- Other function --
Total time : 50825521 ns
Average runtime : 0.806754 ns/op
Ops per second : 1239534760 op/s
-- Average runtime ratio --
Mine / Other's : 1.42136
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 42660441 ns
Average runtime : 1.04253 ns/op
Ops per second : 959202461 op/s
-- Other function --
Total time : 28531209 ns
Average runtime : 0.697244 ns/op
Ops per second : 1434218928 op/s
-- Average runtime ratio --
Mine / Other's : 1.49522
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 21312337 ns
Average runtime : 1.04166 ns/op
Ops per second : 960007342 op/s
-- Other function --
Total time : 14300863 ns
Average runtime : 0.698967 ns/op
Ops per second : 1430682889 op/s
-- Average runtime ratio --
Mine / Other's : 1.49028 </code></pre></details></li>
<li><details><summary>roundevenf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 50093180 ns
Average runtime : 1.76465 ns/op
Ops per second : 566684726 op/s
-- Other function --
Total time : 30545939 ns
Average runtime : 1.07605 ns/op
Ops per second : 929322879 op/s
-- Average runtime ratio --
Mine / Other's : 1.63993
Performance tests with inputs in low integral range:
-- My function --
Total time : 233184041 ns
Average runtime : 1.43427 ns/op
Ops per second : 697218897 op/s
-- Other function --
Total time : 173630209 ns
Average runtime : 1.06797 ns/op
Ops per second : 936359640 op/s
-- Average runtime ratio --
Mine / Other's : 1.34299
Performance tests with inputs in high integral range:
-- My function --
Total time : 151308635 ns
Average runtime : 1.10627 ns/op
Ops per second : 903939950 op/s
-- Other function --
Total time : 147182780 ns
Average runtime : 1.0761 ns/op
Ops per second : 929279362 op/s
-- Average runtime ratio --
Mine / Other's : 1.02803
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1554846680 ns
Average runtime : 2.3169 ns/op
Ops per second : 431610761 op/s
-- Other function --
Total time : 691032349 ns
Average runtime : 1.02972 ns/op
Ops per second : 971139138 op/s
-- Average runtime ratio --
Mine / Other's : 2.25003
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 467757039 ns
Average runtime : 1.39402 ns/op
Ops per second : 717347366 op/s
-- Other function --
Total time : 346373454 ns
Average runtime : 1.03227 ns/op
Ops per second : 968735554 op/s
-- Average runtime ratio --
Mine / Other's : 1.35044 </code></pre></details></li>
<li><details><summary>roundevenf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 148628581 ns
Average runtime : 1.83492 ns/op
Ops per second : 544982663 op/s
-- Other function --
Total time : 61762126 ns
Average runtime : 0.762495 ns/op
Ops per second : 1311483351 op/s
-- Average runtime ratio --
Mine / Other's : 2.40647
Performance tests with inputs in low integral range:
-- My function --
Total time : 184405192 ns
Average runtime : 1.46353 ns/op
Ops per second : 683277941 op/s
-- Other function --
Total time : 94675049 ns
Average runtime : 0.751389 ns/op
Ops per second : 1330868072 op/s
-- Average runtime ratio --
Mine / Other's : 1.94777
Performance tests with inputs in high integral range:
-- My function --
Total time : 74326660 ns
Average runtime : 1.17979 ns/op
Ops per second : 847609727 op/s
-- Other function --
Total time : 49645955 ns
Average runtime : 0.788031 ns/op
Ops per second : 1268985559 op/s
-- Average runtime ratio --
Mine / Other's : 1.49713
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 102211752 ns
Average runtime : 2.49784 ns/op
Ops per second : 400345353 op/s
-- Other function --
Total time : 28530558 ns
Average runtime : 0.697228 ns/op
Ops per second : 1434251653 op/s
-- Average runtime ratio --
Mine / Other's : 3.58254
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 30129028 ns
Average runtime : 1.47258 ns/op
Ops per second : 679079325 op/s
-- Other function --
Total time : 14518392 ns
Average runtime : 0.709599 ns/op
Ops per second : 1409246974 op/s
-- Average runtime ratio --
Mine / Other's : 2.07523 </code></pre></details></li>
</li></ul></details>
<li><details><summary>Google Tensor G3, Clang 17, <code>-mcpu=cortex-x3</code></summary><ul>
<li><details><summary>ceilf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 20652384 ns
Average runtime : 0.727529 ns/op
Ops per second : 1374516375 op/s
-- Other function --
Total time : 20747193 ns
Average runtime : 0.730868 ns/op
Ops per second : 1368235211 op/s
-- Average runtime ratio --
Mine / Other's : 0.99543
Performance tests with inputs in low integral range:
-- My function --
Total time : 118998006 ns
Average runtime : 0.731934 ns/op
Ops per second : 1366244069 op/s
-- Other function --
Total time : 118691081 ns
Average runtime : 0.730046 ns/op
Ops per second : 1369777060 op/s
-- Average runtime ratio --
Mine / Other's : 1.00259
Performance tests with inputs in high integral range:
-- My function --
Total time : 100686889 ns
Average runtime : 0.736156 ns/op
Ops per second : 1358408441 op/s
-- Other function --
Total time : 100731934 ns
Average runtime : 0.736485 ns/op
Ops per second : 1357800992 op/s
-- Average runtime ratio --
Mine / Other's : 0.999553
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 460949992 ns
Average runtime : 0.686869 ns/op
Ops per second : 1455881487 op/s
-- Other function --
Total time : 460885946 ns
Average runtime : 0.686774 ns/op
Ops per second : 1456083800 op/s
-- Average runtime ratio --
Mine / Other's : 1.00014
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 230277751 ns
Average runtime : 0.686281 ns/op
Ops per second : 1457128526 op/s
-- Other function --
Total time : 230294393 ns
Average runtime : 0.686331 ns/op
Ops per second : 1457023228 op/s
-- Average runtime ratio --
Mine / Other's : 0.999928 </code></pre></details></li>
<li><details><summary>ceilf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 61850871 ns
Average runtime : 0.763591 ns/op
Ops per second : 1309601606 op/s
-- Other function --
Total time : 61888957 ns
Average runtime : 0.764061 ns/op
Ops per second : 1308795687 op/s
-- Average runtime ratio --
Mine / Other's : 0.999385
Performance tests with inputs in low integral range:
-- My function --
Total time : 93060425 ns
Average runtime : 0.738575 ns/op
Ops per second : 1353959000 op/s
-- Other function --
Total time : 93459920 ns
Average runtime : 0.741745 ns/op
Ops per second : 1348171494 op/s
-- Average runtime ratio --
Mine / Other's : 0.995725
Performance tests with inputs in high integral range:
-- My function --
Total time : 49474365 ns
Average runtime : 0.785307 ns/op
Ops per second : 1273386732 op/s
-- Other function --
Total time : 49435425 ns
Average runtime : 0.784689 ns/op
Ops per second : 1274389772 op/s
-- Average runtime ratio --
Mine / Other's : 1.00079
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 28375041 ns
Average runtime : 0.693427 ns/op
Ops per second : 1442112453 op/s
-- Other function --
Total time : 28483399 ns
Average runtime : 0.696075 ns/op
Ops per second : 1436626295 op/s
-- Average runtime ratio --
Mine / Other's : 0.996196
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 14171020 ns
Average runtime : 0.692621 ns/op
Ops per second : 1443791625 op/s
-- Other function --
Total time : 14236654 ns
Average runtime : 0.695829 ns/op
Ops per second : 1437135439 op/s
-- Average runtime ratio --
Mine / Other's : 0.99539 </code></pre></details></li>
<li><details><summary>roundf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 30571086 ns
Average runtime : 1.07694 ns/op
Ops per second : 928558442 op/s
-- Other function --
Total time : 20409302 ns
Average runtime : 0.718965 ns/op
Ops per second : 1390887351 op/s
-- Average runtime ratio --
Mine / Other's : 1.4979
Performance tests with inputs in low integral range:
-- My function --
Total time : 173249308 ns
Average runtime : 1.06562 ns/op
Ops per second : 938418293 op/s
-- Other function --
Total time : 118691365 ns
Average runtime : 0.730048 ns/op
Ops per second : 1369773782 op/s
-- Average runtime ratio --
Mine / Other's : 1.45966
Performance tests with inputs in high integral range:
-- My function --
Total time : 147036337 ns
Average runtime : 1.07503 ns/op
Ops per second : 930204892 op/s
-- Other function --
Total time : 100944742 ns
Average runtime : 0.738041 ns/op
Ops per second : 1354938526 op/s
-- Average runtime ratio --
Mine / Other's : 1.4566
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 691061158 ns
Average runtime : 1.02976 ns/op
Ops per second : 971098653 op/s
-- Other function --
Total time : 460675049 ns
Average runtime : 0.686459 ns/op
Ops per second : 1456750395 op/s
-- Average runtime ratio --
Mine / Other's : 1.50011
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 345583659 ns
Average runtime : 1.02992 ns/op
Ops per second : 970949497 op/s
-- Other function --
Total time : 230271363 ns
Average runtime : 0.686262 ns/op
Ops per second : 1457168948 op/s
-- Average runtime ratio --
Mine / Other's : 1.50077 </code></pre></details></li>
<li><details><summary>roundf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 90852376 ns
Average runtime : 1.12163 ns/op
Ops per second : 891556209 op/s
-- Other function --
Total time : 62145589 ns
Average runtime : 0.767229 ns/op
Ops per second : 1303390977 op/s
-- Average runtime ratio --
Mine / Other's : 1.46193
Performance tests with inputs in low integral range:
-- My function --
Total time : 137275635 ns
Average runtime : 1.08949 ns/op
Ops per second : 917861352 op/s
-- Other function --
Total time : 93313558 ns
Average runtime : 0.740584 ns/op
Ops per second : 1350286096 op/s
-- Average runtime ratio --
Mine / Other's : 1.47112
Performance tests with inputs in high integral range:
-- My function --
Total time : 72130087 ns
Average runtime : 1.14492 ns/op
Ops per second : 873421932 op/s
-- Other function --
Total time : 49411215 ns
Average runtime : 0.784305 ns/op
Ops per second : 1275014184 op/s
-- Average runtime ratio --
Mine / Other's : 1.45979
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 42329346 ns
Average runtime : 1.03444 ns/op
Ops per second : 966705226 op/s
-- Other function --
Total time : 28476359 ns
Average runtime : 0.695903 ns/op
Ops per second : 1436981462 op/s
-- Average runtime ratio --
Mine / Other's : 1.48647
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 21162842 ns
Average runtime : 1.03435 ns/op
Ops per second : 966788865 op/s
-- Other function --
Total time : 14268514 ns
Average runtime : 0.697386 ns/op
Ops per second : 1433926476 op/s
-- Average runtime ratio --
Mine / Other's : 1.48318 </code></pre></details></li>
<li><details><summary>roundevenf</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 50181437 ns
Average runtime : 1.76776 ns/op
Ops per second : 565688065 op/s
-- Other function --
Total time : 30587606 ns
Average runtime : 1.07752 ns/op
Ops per second : 928056939 op/s
-- Average runtime ratio --
Mine / Other's : 1.64058
Performance tests with inputs in low integral range:
-- My function --
Total time : 235553955 ns
Average runtime : 1.44885 ns/op
Ops per second : 690204161 op/s
-- Other function --
Total time : 174174317 ns
Average runtime : 1.07131 ns/op
Ops per second : 933434520 op/s
-- Average runtime ratio --
Mine / Other's : 1.3524
Performance tests with inputs in high integral range:
-- My function --
Total time : 151306193 ns
Average runtime : 1.10625 ns/op
Ops per second : 903954539 op/s
-- Other function --
Total time : 147844360 ns
Average runtime : 1.08094 ns/op
Ops per second : 925120985 op/s
-- Average runtime ratio --
Mine / Other's : 1.02342
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 1555227337 ns
Average runtime : 2.31747 ns/op
Ops per second : 431505120 op/s
-- Other function --
Total time : 691694947 ns
Average runtime : 1.03071 ns/op
Ops per second : 970208851 op/s
-- Average runtime ratio --
Mine / Other's : 2.24843
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 472763143 ns
Average runtime : 1.40894 ns/op
Ops per second : 709751352 op/s
-- Other function --
Total time : 346528972 ns
Average runtime : 1.03274 ns/op
Ops per second : 968300797 op/s
-- Average runtime ratio --
Mine / Other's : 1.36428 </code></pre></details></li>
<li><details><summary>roundevenf16</summary><pre><code>Performance tests with inputs in normal integral range:
-- My function --
Total time : 149821655 ns
Average runtime : 1.84965 ns/op
Ops per second : 540642806 op/s
-- Other function --
Total time : 62326213 ns
Average runtime : 0.769459 ns/op
Ops per second : 1299613695 op/s
-- Average runtime ratio --
Mine / Other's : 2.40383
Performance tests with inputs in low integral range:
-- My function --
Total time : 185287964 ns
Average runtime : 1.47054 ns/op
Ops per second : 680022583 op/s
-- Other function --
Total time : 92986410 ns
Average runtime : 0.737987 ns/op
Ops per second : 1355036719 op/s
-- Average runtime ratio --
Mine / Other's : 1.99263
Performance tests with inputs in high integral range:
-- My function --
Total time : 74680909 ns
Average runtime : 1.18541 ns/op
Ops per second : 843589089 op/s
-- Other function --
Total time : 49811483 ns
Average runtime : 0.790658 ns/op
Ops per second : 1264768607 op/s
-- Average runtime ratio --
Mine / Other's : 1.49927
Performance tests with inputs in normal fractional range:
-- My function --
Total time : 100203247 ns
Average runtime : 2.44876 ns/op
Ops per second : 408370000 op/s
-- Other function --
Total time : 29091837 ns
Average runtime : 0.710944 ns/op
Ops per second : 1406580134 op/s
-- Average runtime ratio --
Mine / Other's : 3.44438
Performance tests with inputs in subnormal fractional range:
-- My function --
Total time : 30361939 ns
Average runtime : 1.48397 ns/op
Ops per second : 673870005 op/s
-- Other function --
Total time : 14570313 ns
Average runtime : 0.712137 ns/op
Ops per second : 1404225152 op/s
-- Average runtime ratio --
Mine / Other's : 2.08382 </code></pre></details></li>
</li></ul></details>
</ul>
https://github.com/llvm/llvm-project/pull/98376
More information about the libc-commits
mailing list