[libc-commits] [libc] [libc][math] Optimize maximum and minimum functions using builtins when available (PR #100002)
via libc-commits
libc-commits at lists.llvm.org
Mon Jul 22 16:20:54 PDT 2024
overmighty wrote:
After:
<ul>
<li><details><summary>Intel Core i7-13700H, Clang 18</summary><ul>
<li><details><summary>fmaxf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 77471124 ns
Average runtime : 1.93678 ns/op
Ops per second : 516321926 op/s
-- Other function --
Total time : 66463941 ns
Average runtime : 1.6616 ns/op
Ops per second : 601830697 op/s
-- Average runtime ratio --
Mine / Other's : 1.16561
Performance tests with inputs in normal range:
-- My function --
Total time : 73902527 ns
Average runtime : 1.84756 ns/op
Ops per second : 541254022 op/s
-- Other function --
Total time : 63394980 ns
Average runtime : 1.58487 ns/op
Ops per second : 630965417 op/s
-- Average runtime ratio --
Mine / Other's : 1.16575
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 74227661 ns
Average runtime : 1.85569 ns/op
Ops per second : 538883206 op/s
-- Other function --
Total time : 63639261 ns
Average runtime : 1.59098 ns/op
Ops per second : 628543439 op/s
-- Average runtime ratio --
Mine / Other's : 1.16638 </code></pre></details></li>
<li><details><summary>fmaxf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 89739104 ns
Average runtime : 4.38608 ns/op
Ops per second : 227994253 op/s
-- Other function --
Total time : 21811021 ns
Average runtime : 1.06603 ns/op
Ops per second : 938057874 op/s
-- Average runtime ratio --
Mine / Other's : 4.11439
Performance tests with inputs in normal range:
-- My function --
Total time : 2694074213 ns
Average runtime : 4.38503 ns/op
Ops per second : 228048654 op/s
-- Other function --
Total time : 651705102 ns
Average runtime : 1.06075 ns/op
Ops per second : 942727006 op/s
-- Average runtime ratio --
Mine / Other's : 4.13389
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1796068788 ns
Average runtime : 4.38493 ns/op
Ops per second : 228053626 op/s
-- Other function --
Total time : 432673051 ns
Average runtime : 1.05633 ns/op
Ops per second : 946673242 op/s
-- Average runtime ratio --
Mine / Other's : 4.1511 </code></pre></details></li>
<li><details><summary>fmaximumf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 66413149 ns
Average runtime : 1.66033 ns/op
Ops per second : 602290971 op/s
-- Other function --
Total time : 55334211 ns
Average runtime : 1.38335 ns/op
Ops per second : 722880823 op/s
-- Average runtime ratio --
Mine / Other's : 1.20022
Performance tests with inputs in normal range:
-- My function --
Total time : 65581254 ns
Average runtime : 1.63953 ns/op
Ops per second : 609931002 op/s
-- Other function --
Total time : 52819981 ns
Average runtime : 1.3205 ns/op
Ops per second : 757289935 op/s
-- Average runtime ratio --
Mine / Other's : 1.2416
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 66107456 ns
Average runtime : 1.65268 ns/op
Ops per second : 605076074 op/s
-- Other function --
Total time : 53018521 ns
Average runtime : 1.32546 ns/op
Ops per second : 754454089 op/s
-- Average runtime ratio --
Mine / Other's : 1.24687 </code></pre></details></li>
<li><details><summary>fmaximumf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 89335866 ns
Average runtime : 4.36637 ns/op
Ops per second : 229023357 op/s
-- Other function --
Total time : 21810349 ns
Average runtime : 1.066 ns/op
Ops per second : 938086777 op/s
-- Average runtime ratio --
Mine / Other's : 4.09603
Performance tests with inputs in normal range:
-- My function --
Total time : 2680737431 ns
Average runtime : 4.36332 ns/op
Ops per second : 229183206 op/s
-- Other function --
Total time : 653188320 ns
Average runtime : 1.06317 ns/op
Ops per second : 940586322 op/s
-- Average runtime ratio --
Mine / Other's : 4.10408
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1787218059 ns
Average runtime : 4.36333 ns/op
Ops per second : 229183002 op/s
-- Other function --
Total time : 434094917 ns
Average runtime : 1.0598 ns/op
Ops per second : 943572439 op/s
-- Average runtime ratio --
Mine / Other's : 4.11711 </code></pre></details></li>
<li><details><summary>fmaximum_numf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 150028173 ns
Average runtime : 3.7507 ns/op
Ops per second : 266616857 op/s
-- Other function --
Total time : 55334031 ns
Average runtime : 1.38335 ns/op
Ops per second : 722883174 op/s
-- Average runtime ratio --
Mine / Other's : 2.71132
Performance tests with inputs in normal range:
-- My function --
Total time : 144642980 ns
Average runtime : 3.61607 ns/op
Ops per second : 276543251 op/s
-- Other function --
Total time : 52796815 ns
Average runtime : 1.31992 ns/op
Ops per second : 757622216 op/s
-- Average runtime ratio --
Mine / Other's : 2.73962
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 136688043 ns
Average runtime : 3.4172 ns/op
Ops per second : 292637447 op/s
-- Other function --
Total time : 53018938 ns
Average runtime : 1.32547 ns/op
Ops per second : 754448155 op/s
-- Average runtime ratio --
Mine / Other's : 2.5781 </code></pre></details></li>
<li><details><summary>fmaximum_numf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 103015518 ns
Average runtime : 5.03497 ns/op
Ops per second : 198610853 op/s
-- Other function --
Total time : 21810717 ns
Average runtime : 1.06602 ns/op
Ops per second : 938070949 op/s
-- Average runtime ratio --
Mine / Other's : 4.72316
Performance tests with inputs in normal range:
-- My function --
Total time : 3093938062 ns
Average runtime : 5.03587 ns/op
Ops per second : 198575403 op/s
-- Other function --
Total time : 651696872 ns
Average runtime : 1.06074 ns/op
Ops per second : 942738911 op/s
-- Average runtime ratio --
Mine / Other's : 4.74751
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 2062648833 ns
Average runtime : 5.03576 ns/op
Ops per second : 198579609 op/s
-- Other function --
Total time : 432756371 ns
Average runtime : 1.05653 ns/op
Ops per second : 946490976 op/s
-- Average runtime ratio --
Mine / Other's : 4.7663 </code></pre></details></li>
<li><details><summary>fminf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 75245084 ns
Average runtime : 1.88113 ns/op
Ops per second : 531596721 op/s
-- Other function --
Total time : 66431945 ns
Average runtime : 1.6608 ns/op
Ops per second : 602120561 op/s
-- Average runtime ratio --
Mine / Other's : 1.13266
Performance tests with inputs in normal range:
-- My function --
Total time : 71754457 ns
Average runtime : 1.79386 ns/op
Ops per second : 557457218 op/s
-- Other function --
Total time : 63361860 ns
Average runtime : 1.58404 ns/op
Ops per second : 631295230 op/s
-- Average runtime ratio --
Mine / Other's : 1.13246
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 72188195 ns
Average runtime : 1.8047 ns/op
Ops per second : 554107773 op/s
-- Other function --
Total time : 63619656 ns
Average runtime : 1.59049 ns/op
Ops per second : 628737131 op/s
-- Average runtime ratio --
Mine / Other's : 1.13468 </code></pre></details></li>
<li><details><summary>fminf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 86000984 ns
Average runtime : 4.20337 ns/op
Ops per second : 237904254 op/s
-- Other function --
Total time : 21779018 ns
Average runtime : 1.06447 ns/op
Ops per second : 939436295 op/s
-- Average runtime ratio --
Mine / Other's : 3.9488
Performance tests with inputs in normal range:
-- My function --
Total time : 2577266879 ns
Average runtime : 4.19491 ns/op
Ops per second : 238384315 op/s
-- Other function --
Total time : 650310453 ns
Average runtime : 1.05848 ns/op
Ops per second : 944748769 op/s
-- Average runtime ratio --
Mine / Other's : 3.96313
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1718827269 ns
Average runtime : 4.19636 ns/op
Ops per second : 238302014 op/s
-- Other function --
Total time : 432666977 ns
Average runtime : 1.05632 ns/op
Ops per second : 946686532 op/s
-- Average runtime ratio --
Mine / Other's : 3.97263 </code></pre></details></li>
<li><details><summary>fminimumf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 75302701 ns
Average runtime : 1.88257 ns/op
Ops per second : 531189976 op/s
-- Other function --
Total time : 55335081 ns
Average runtime : 1.38338 ns/op
Ops per second : 722869457 op/s
-- Average runtime ratio --
Mine / Other's : 1.36085
Performance tests with inputs in normal range:
-- My function --
Total time : 71863882 ns
Average runtime : 1.7966 ns/op
Ops per second : 556608394 op/s
-- Other function --
Total time : 52789379 ns
Average runtime : 1.31973 ns/op
Ops per second : 757728936 op/s
-- Average runtime ratio --
Mine / Other's : 1.36133
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 72153602 ns
Average runtime : 1.80384 ns/op
Ops per second : 554373432 op/s
-- Other function --
Total time : 53018585 ns
Average runtime : 1.32546 ns/op
Ops per second : 754453179 op/s
-- Average runtime ratio --
Mine / Other's : 1.36091 </code></pre></details></li>
<li><details><summary>fminimumf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 81363840 ns
Average runtime : 3.97673 ns/op
Ops per second : 251463057 op/s
-- Other function --
Total time : 21839002 ns
Average runtime : 1.0674 ns/op
Ops per second : 936855997 op/s
-- Average runtime ratio --
Mine / Other's : 3.72562
Performance tests with inputs in normal range:
-- My function --
Total time : 2615006159 ns
Average runtime : 4.25633 ns/op
Ops per second : 234943997 op/s
-- Other function --
Total time : 648891483 ns
Average runtime : 1.05617 ns/op
Ops per second : 946814707 op/s
-- Average runtime ratio --
Mine / Other's : 4.02996
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1771543969 ns
Average runtime : 4.32506 ns/op
Ops per second : 231210744 op/s
-- Other function --
Total time : 432638235 ns
Average runtime : 1.05625 ns/op
Ops per second : 946749424 op/s
-- Average runtime ratio --
Mine / Other's : 4.09475 </code></pre></details></li>
<li><details><summary>fminimum_numf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 127283623 ns
Average runtime : 3.18209 ns/op
Ops per second : 314259125 op/s
-- Other function --
Total time : 55341786 ns
Average runtime : 1.38354 ns/op
Ops per second : 722781877 op/s
-- Average runtime ratio --
Mine / Other's : 2.29996
Performance tests with inputs in normal range:
-- My function --
Total time : 121426442 ns
Average runtime : 3.03566 ns/op
Ops per second : 329417870 op/s
-- Other function --
Total time : 52786944 ns
Average runtime : 1.31967 ns/op
Ops per second : 757763889 op/s
-- Average runtime ratio --
Mine / Other's : 2.30031
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 121986716 ns
Average runtime : 3.04966 ns/op
Ops per second : 327904884 op/s
-- Other function --
Total time : 53017579 ns
Average runtime : 1.32544 ns/op
Ops per second : 754467494 op/s
-- Average runtime ratio --
Mine / Other's : 2.30087 </code></pre></details></li>
<li><details><summary>fminimum_numf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 99806625 ns
Average runtime : 4.87813 ns/op
Ops per second : 204996411 op/s
-- Other function --
Total time : 21828695 ns
Average runtime : 1.0669 ns/op
Ops per second : 937298358 op/s
-- Average runtime ratio --
Mine / Other's : 4.57227
Performance tests with inputs in normal range:
-- My function --
Total time : 2994606091 ns
Average runtime : 4.87419 ns/op
Ops per second : 205162208 op/s
-- Other function --
Total time : 648872654 ns
Average runtime : 1.05614 ns/op
Ops per second : 946842182 op/s
-- Average runtime ratio --
Mine / Other's : 4.61509
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1996570448 ns
Average runtime : 4.87444 ns/op
Ops per second : 205151789 op/s
-- Other function --
Total time : 437000542 ns
Average runtime : 1.0669 ns/op
Ops per second : 937298608 op/s
-- Average runtime ratio --
Mine / Other's : 4.56881 </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>fmaxf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 66401376 ns
Average runtime : 1.66003 ns/op
Ops per second : 602397757 op/s
-- Other function --
Total time : 66442798 ns
Average runtime : 1.66107 ns/op
Ops per second : 602022208 op/s
-- Average runtime ratio --
Mine / Other's : 0.999377
Performance tests with inputs in normal range:
-- My function --
Total time : 63354483 ns
Average runtime : 1.58386 ns/op
Ops per second : 631368738 op/s
-- Other function --
Total time : 63359803 ns
Average runtime : 1.58399 ns/op
Ops per second : 631315725 op/s
-- Average runtime ratio --
Mine / Other's : 0.999916
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 63616819 ns
Average runtime : 1.59042 ns/op
Ops per second : 628765169 op/s
-- Other function --
Total time : 63652434 ns
Average runtime : 1.59131 ns/op
Ops per second : 628413361 op/s
-- Average runtime ratio --
Mine / Other's : 0.99944 </code></pre></details></li>
<li><details><summary>fmaxf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 89726367 ns
Average runtime : 4.38545 ns/op
Ops per second : 228026617 op/s
-- Other function --
Total time : 21817293 ns
Average runtime : 1.06634 ns/op
Ops per second : 937788203 op/s
-- Average runtime ratio --
Mine / Other's : 4.11263
Performance tests with inputs in normal range:
-- My function --
Total time : 2694100878 ns
Average runtime : 4.38507 ns/op
Ops per second : 228046397 op/s
-- Other function --
Total time : 650263680 ns
Average runtime : 1.05841 ns/op
Ops per second : 944816724 op/s
-- Average runtime ratio --
Mine / Other's : 4.14309
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1796061297 ns
Average runtime : 4.38492 ns/op
Ops per second : 228054577 op/s
-- Other function --
Total time : 434060142 ns
Average runtime : 1.05972 ns/op
Ops per second : 943648034 op/s
-- Average runtime ratio --
Mine / Other's : 4.13782 </code></pre></details></li>
<li><details><summary>fmaximumf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 66411332 ns
Average runtime : 1.66028 ns/op
Ops per second : 602307449 op/s
-- Other function --
Total time : 55343272 ns
Average runtime : 1.38358 ns/op
Ops per second : 722762470 op/s
-- Average runtime ratio --
Mine / Other's : 1.19999
Performance tests with inputs in normal range:
-- My function --
Total time : 63352563 ns
Average runtime : 1.58381 ns/op
Ops per second : 631387872 op/s
-- Other function --
Total time : 52787720 ns
Average runtime : 1.31969 ns/op
Ops per second : 757752750 op/s
-- Average runtime ratio --
Mine / Other's : 1.20014
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 63617025 ns
Average runtime : 1.59042 ns/op
Ops per second : 628763133 op/s
-- Other function --
Total time : 53024671 ns
Average runtime : 1.32562 ns/op
Ops per second : 754366585 op/s
-- Average runtime ratio --
Mine / Other's : 1.19976 </code></pre></details></li>
<li><details><summary>fmaximumf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 89483556 ns
Average runtime : 4.37359 ns/op
Ops per second : 228645361 op/s
-- Other function --
Total time : 21803381 ns
Average runtime : 1.06566 ns/op
Ops per second : 938386574 op/s
-- Average runtime ratio --
Mine / Other's : 4.10411
Performance tests with inputs in normal range:
-- My function --
Total time : 2703437933 ns
Average runtime : 4.40027 ns/op
Ops per second : 227258777 op/s
-- Other function --
Total time : 648768797 ns
Average runtime : 1.05597 ns/op
Ops per second : 946993756 op/s
-- Average runtime ratio --
Mine / Other's : 4.16703
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1809467495 ns
Average runtime : 4.41765 ns/op
Ops per second : 226364939 op/s
-- Other function --
Total time : 432680693 ns
Average runtime : 1.05635 ns/op
Ops per second : 946656522 op/s
-- Average runtime ratio --
Mine / Other's : 4.18199 </code></pre></details></li>
<li><details><summary>fmaximum_numf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 112512097 ns
Average runtime : 2.8128 ns/op
Ops per second : 355517682 op/s
-- Other function --
Total time : 55340150 ns
Average runtime : 1.3835 ns/op
Ops per second : 722803245 op/s
-- Average runtime ratio --
Mine / Other's : 2.0331
Performance tests with inputs in normal range:
-- My function --
Total time : 108093149 ns
Average runtime : 2.70233 ns/op
Ops per second : 370051574 op/s
-- Other function --
Total time : 52789500 ns
Average runtime : 1.31974 ns/op
Ops per second : 757727199 op/s
-- Average runtime ratio --
Mine / Other's : 2.04763
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 108679961 ns
Average runtime : 2.717 ns/op
Ops per second : 368053499 op/s
-- Other function --
Total time : 53013307 ns
Average runtime : 1.32533 ns/op
Ops per second : 754528292 op/s
-- Average runtime ratio --
Mine / Other's : 2.05005 </code></pre></details></li>
<li><details><summary>fmaximum_numf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 104831243 ns
Average runtime : 5.12372 ns/op
Ops per second : 195170823 op/s
-- Other function --
Total time : 21822568 ns
Average runtime : 1.0666 ns/op
Ops per second : 937561518 op/s
-- Average runtime ratio --
Mine / Other's : 4.8038
Performance tests with inputs in normal range:
-- My function --
Total time : 3092119489 ns
Average runtime : 5.03291 ns/op
Ops per second : 198692192 op/s
-- Other function --
Total time : 650245357 ns
Average runtime : 1.05838 ns/op
Ops per second : 944843347 op/s
-- Average runtime ratio --
Mine / Other's : 4.75531
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 2065590291 ns
Average runtime : 5.04295 ns/op
Ops per second : 198296826 op/s
-- Other function --
Total time : 432629326 ns
Average runtime : 1.05622 ns/op
Ops per second : 946768920 op/s
-- Average runtime ratio --
Mine / Other's : 4.7745 </code></pre></details></li>
<li><details><summary>fminf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 75209182 ns
Average runtime : 1.88023 ns/op
Ops per second : 531850486 op/s
-- Other function --
Total time : 66410471 ns
Average runtime : 1.66026 ns/op
Ops per second : 602315258 op/s
-- Average runtime ratio --
Mine / Other's : 1.13249
Performance tests with inputs in normal range:
-- My function --
Total time : 71878897 ns
Average runtime : 1.79697 ns/op
Ops per second : 556492123 op/s
-- Other function --
Total time : 63359262 ns
Average runtime : 1.58398 ns/op
Ops per second : 631321116 op/s
-- Average runtime ratio --
Mine / Other's : 1.13447
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 72222333 ns
Average runtime : 1.80556 ns/op
Ops per second : 553845858 op/s
-- Other function --
Total time : 63619037 ns
Average runtime : 1.59047 ns/op
Ops per second : 628743248 op/s
-- Average runtime ratio --
Mine / Other's : 1.13523 </code></pre></details></li>
<li><details><summary>fminf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 86949356 ns
Average runtime : 4.24972 ns/op
Ops per second : 235309390 op/s
-- Other function --
Total time : 21803544 ns
Average runtime : 1.06567 ns/op
Ops per second : 938379558 op/s
-- Average runtime ratio --
Mine / Other's : 3.98785
Performance tests with inputs in normal range:
-- My function --
Total time : 2601552436 ns
Average runtime : 4.23444 ns/op
Ops per second : 236158991 op/s
-- Other function --
Total time : 648796377 ns
Average runtime : 1.05602 ns/op
Ops per second : 946953500 op/s
-- Average runtime ratio --
Mine / Other's : 4.00981
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1736064480 ns
Average runtime : 4.23844 ns/op
Ops per second : 235935937 op/s
-- Other function --
Total time : 435493558 ns
Average runtime : 1.06322 ns/op
Ops per second : 940542041 op/s
-- Average runtime ratio --
Mine / Other's : 3.98643 </code></pre></details></li>
<li><details><summary>fminimumf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 75323566 ns
Average runtime : 1.88309 ns/op
Ops per second : 531042834 op/s
-- Other function --
Total time : 55339794 ns
Average runtime : 1.38349 ns/op
Ops per second : 722807894 op/s
-- Average runtime ratio --
Mine / Other's : 1.36111
Performance tests with inputs in normal range:
-- My function --
Total time : 71849941 ns
Average runtime : 1.79625 ns/op
Ops per second : 556716393 op/s
-- Other function --
Total time : 52791733 ns
Average runtime : 1.31979 ns/op
Ops per second : 757695148 op/s
-- Average runtime ratio --
Mine / Other's : 1.36101
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 72170411 ns
Average runtime : 1.80426 ns/op
Ops per second : 554244314 op/s
-- Other function --
Total time : 53028133 ns
Average runtime : 1.3257 ns/op
Ops per second : 754317335 op/s
-- Average runtime ratio --
Mine / Other's : 1.36098 </code></pre></details></li>
<li><details><summary>fminimumf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 86174785 ns
Average runtime : 4.21187 ns/op
Ops per second : 237424439 op/s
-- Other function --
Total time : 21816918 ns
Average runtime : 1.06632 ns/op
Ops per second : 937804322 op/s
-- Average runtime ratio --
Mine / Other's : 3.94991
Performance tests with inputs in normal range:
-- My function --
Total time : 2587329050 ns
Average runtime : 4.21128 ns/op
Ops per second : 237457234 op/s
-- Other function --
Total time : 648762288 ns
Average runtime : 1.05596 ns/op
Ops per second : 947003257 op/s
-- Average runtime ratio --
Mine / Other's : 3.9881
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1725023451 ns
Average runtime : 4.21148 ns/op
Ops per second : 237446047 op/s
-- Other function --
Total time : 432639808 ns
Average runtime : 1.05625 ns/op
Ops per second : 946745982 op/s
-- Average runtime ratio --
Mine / Other's : 3.9872 </code></pre></details></li>
<li><details><summary>fminimum_numf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 94973246 ns
Average runtime : 2.37433 ns/op
Ops per second : 421171663 op/s
-- Other function --
Total time : 55334161 ns
Average runtime : 1.38335 ns/op
Ops per second : 722881476 op/s
-- Average runtime ratio --
Mine / Other's : 1.71636
Performance tests with inputs in normal range:
-- My function --
Total time : 90578857 ns
Average runtime : 2.26447 ns/op
Ops per second : 441604600 op/s
-- Other function --
Total time : 52788141 ns
Average runtime : 1.3197 ns/op
Ops per second : 757746706 op/s
-- Average runtime ratio --
Mine / Other's : 1.71589
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 90953254 ns
Average runtime : 2.27383 ns/op
Ops per second : 439786794 op/s
-- Other function --
Total time : 53014004 ns
Average runtime : 1.32535 ns/op
Ops per second : 754518372 op/s
-- Average runtime ratio --
Mine / Other's : 1.71565 </code></pre></details></li>
<li><details><summary>fminimum_numf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 97349669 ns
Average runtime : 4.75805 ns/op
Ops per second : 210170206 op/s
-- Other function --
Total time : 21821033 ns
Average runtime : 1.06652 ns/op
Ops per second : 937627471 op/s
-- Average runtime ratio --
Mine / Other's : 4.46128
Performance tests with inputs in normal range:
-- My function --
Total time : 2925259388 ns
Average runtime : 4.76132 ns/op
Ops per second : 210025819 op/s
-- Other function --
Total time : 652410714 ns
Average runtime : 1.0619 ns/op
Ops per second : 941707404 op/s
-- Average runtime ratio --
Mine / Other's : 4.48377
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1949757038 ns
Average runtime : 4.76015 ns/op
Ops per second : 210077456 op/s
-- Other function --
Total time : 435193798 ns
Average runtime : 1.06248 ns/op
Ops per second : 941189883 op/s
-- Average runtime ratio --
Mine / Other's : 4.4802 </code></pre></details></li>
</li></ul></details>
<li><details><summary>Intel Core i7-13700H, GCC 14</summary><ul>
<li><details><summary>fmaxf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 76276281 ns
Average runtime : 1.90691 ns/op
Ops per second : 524409940 op/s
-- Other function --
Total time : 55611568 ns
Average runtime : 1.39029 ns/op
Ops per second : 719275529 op/s
-- Average runtime ratio --
Mine / Other's : 1.37159
Performance tests with inputs in normal range:
-- My function --
Total time : 72516587 ns
Average runtime : 1.81291 ns/op
Ops per second : 551598491 op/s
-- Other function --
Total time : 53074692 ns
Average runtime : 1.32687 ns/op
Ops per second : 753655621 op/s
-- Average runtime ratio --
Mine / Other's : 1.36631
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 74036750 ns
Average runtime : 1.85092 ns/op
Ops per second : 540272769 op/s
-- Other function --
Total time : 53272288 ns
Average runtime : 1.33181 ns/op
Ops per second : 750860184 op/s
-- Average runtime ratio --
Mine / Other's : 1.38978 </code></pre></details></li>
<li><details><summary>fmaxf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 39948429 ns
Average runtime : 1.95251 ns/op
Ops per second : 512160315 op/s
-- Other function --
Total time : 21798053 ns
Average runtime : 1.0654 ns/op
Ops per second : 938615939 op/s
-- Average runtime ratio --
Mine / Other's : 1.83266
Performance tests with inputs in normal range:
-- My function --
Total time : 1186294127 ns
Average runtime : 1.93088 ns/op
Ops per second : 517898543 op/s
-- Other function --
Total time : 648712581 ns
Average runtime : 1.05588 ns/op
Ops per second : 947075820 op/s
-- Average runtime ratio --
Mine / Other's : 1.82869
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 791485836 ns
Average runtime : 1.93234 ns/op
Ops per second : 517507681 op/s
-- Other function --
Total time : 432538378 ns
Average runtime : 1.056 ns/op
Ops per second : 946967993 op/s
-- Average runtime ratio --
Mine / Other's : 1.82986 </code></pre></details></li>
<li><details><summary>fmaximumf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 66954709 ns
Average runtime : 1.67387 ns/op
Ops per second : 597419368 op/s
-- Other function --
Total time : 44276863 ns
Average runtime : 1.10692 ns/op
Ops per second : 903407271 op/s
-- Average runtime ratio --
Mine / Other's : 1.51218
Performance tests with inputs in normal range:
-- My function --
Total time : 63347017 ns
Average runtime : 1.58367 ns/op
Ops per second : 631443150 op/s
-- Other function --
Total time : 42232344 ns
Average runtime : 1.05581 ns/op
Ops per second : 947142313 op/s
-- Average runtime ratio --
Mine / Other's : 1.49996
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 63618793 ns
Average runtime : 1.59047 ns/op
Ops per second : 628745660 op/s
-- Other function --
Total time : 42416301 ns
Average runtime : 1.06041 ns/op
Ops per second : 943034613 op/s
-- Average runtime ratio --
Mine / Other's : 1.49987 </code></pre></details></li>
<li><details><summary>fmaximumf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 35338367 ns
Average runtime : 1.72719 ns/op
Ops per second : 578974121 op/s
-- Other function --
Total time : 21791273 ns
Average runtime : 1.06507 ns/op
Ops per second : 938907974 op/s
-- Average runtime ratio --
Mine / Other's : 1.62168
Performance tests with inputs in normal range:
-- My function --
Total time : 1039439228 ns
Average runtime : 1.69185 ns/op
Ops per second : 591068706 op/s
-- Other function --
Total time : 648811594 ns
Average runtime : 1.05604 ns/op
Ops per second : 946931290 op/s
-- Average runtime ratio --
Mine / Other's : 1.60207
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 691889722 ns
Average runtime : 1.68918 ns/op
Ops per second : 592001856 op/s
-- Other function --
Total time : 432690821 ns
Average runtime : 1.05637 ns/op
Ops per second : 946634363 op/s
-- Average runtime ratio --
Mine / Other's : 1.59904 </code></pre></details></li>
<li><details><summary>fmaximum_numf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 74396335 ns
Average runtime : 1.85991 ns/op
Ops per second : 537661431 op/s
-- Other function --
Total time : 44274306 ns
Average runtime : 1.10686 ns/op
Ops per second : 903459446 op/s
-- Average runtime ratio --
Mine / Other's : 1.68035
Performance tests with inputs in normal range:
-- My function --
Total time : 70709412 ns
Average runtime : 1.76773 ns/op
Ops per second : 565696119 op/s
-- Other function --
Total time : 42230406 ns
Average runtime : 1.05576 ns/op
Ops per second : 947185778 op/s
-- Average runtime ratio --
Mine / Other's : 1.67437
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 71222311 ns
Average runtime : 1.78056 ns/op
Ops per second : 561622326 op/s
-- Other function --
Total time : 42411087 ns
Average runtime : 1.06028 ns/op
Ops per second : 943150549 op/s
-- Average runtime ratio --
Mine / Other's : 1.67933 </code></pre></details></li>
<li><details><summary>fmaximum_numf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 45129948 ns
Average runtime : 2.20576 ns/op
Ops per second : 453357491 op/s
-- Other function --
Total time : 21798961 ns
Average runtime : 1.06544 ns/op
Ops per second : 938576843 op/s
-- Average runtime ratio --
Mine / Other's : 2.07028
Performance tests with inputs in normal range:
-- My function --
Total time : 1336083846 ns
Average runtime : 2.17469 ns/op
Ops per second : 459836410 op/s
-- Other function --
Total time : 648928389 ns
Average runtime : 1.05623 ns/op
Ops per second : 946760860 op/s
-- Average runtime ratio --
Mine / Other's : 2.05891
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 890750333 ns
Average runtime : 2.17468 ns/op
Ops per second : 459837043 op/s
-- Other function --
Total time : 432643797 ns
Average runtime : 1.05626 ns/op
Ops per second : 946737253 op/s
-- Average runtime ratio --
Mine / Other's : 2.05885 </code></pre></details></li>
<li><details><summary>fminf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 67054302 ns
Average runtime : 1.67636 ns/op
Ops per second : 596532046 op/s
-- Other function --
Total time : 55610516 ns
Average runtime : 1.39026 ns/op
Ops per second : 719289135 op/s
-- Average runtime ratio --
Mine / Other's : 1.20578
Performance tests with inputs in normal range:
-- My function --
Total time : 63609844 ns
Average runtime : 1.59024 ns/op
Ops per second : 628834115 op/s
-- Other function --
Total time : 53029065 ns
Average runtime : 1.32573 ns/op
Ops per second : 754304078 op/s
-- Average runtime ratio --
Mine / Other's : 1.19953
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 66268593 ns
Average runtime : 1.65671 ns/op
Ops per second : 603604787 op/s
-- Other function --
Total time : 53270100 ns
Average runtime : 1.33175 ns/op
Ops per second : 750891025 op/s
-- Average runtime ratio --
Mine / Other's : 1.24401 </code></pre></details></li>
<li><details><summary>fminf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 40309102 ns
Average runtime : 1.97014 ns/op
Ops per second : 507577668 op/s
-- Other function --
Total time : 21804627 ns
Average runtime : 1.06572 ns/op
Ops per second : 938332951 op/s
-- Average runtime ratio --
Mine / Other's : 1.84865
Performance tests with inputs in normal range:
-- My function --
Total time : 1199143866 ns
Average runtime : 1.9518 ns/op
Ops per second : 512348866 op/s
-- Other function --
Total time : 648879505 ns
Average runtime : 1.05615 ns/op
Ops per second : 946832185 op/s
-- Average runtime ratio --
Mine / Other's : 1.84802
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 799026539 ns
Average runtime : 1.95075 ns/op
Ops per second : 512623774 op/s
-- Other function --
Total time : 432682588 ns
Average runtime : 1.05635 ns/op
Ops per second : 946652376 op/s
-- Average runtime ratio --
Mine / Other's : 1.84668 </code></pre></details></li>
<li><details><summary>fminimumf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 55335955 ns
Average runtime : 1.3834 ns/op
Ops per second : 722858040 op/s
-- Other function --
Total time : 44269498 ns
Average runtime : 1.10674 ns/op
Ops per second : 903557569 op/s
-- Average runtime ratio --
Mine / Other's : 1.24998
Performance tests with inputs in normal range:
-- My function --
Total time : 52834259 ns
Average runtime : 1.32086 ns/op
Ops per second : 757085284 op/s
-- Other function --
Total time : 42285479 ns
Average runtime : 1.05714 ns/op
Ops per second : 945952155 op/s
-- Average runtime ratio --
Mine / Other's : 1.24947
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 53028430 ns
Average runtime : 1.32571 ns/op
Ops per second : 754313110 op/s
-- Other function --
Total time : 42415366 ns
Average runtime : 1.06038 ns/op
Ops per second : 943055401 op/s
-- Average runtime ratio --
Mine / Other's : 1.25022 </code></pre></details></li>
<li><details><summary>fminimumf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 34948636 ns
Average runtime : 1.70814 ns/op
Ops per second : 585430573 op/s
-- Other function --
Total time : 21803552 ns
Average runtime : 1.06567 ns/op
Ops per second : 938379214 op/s
-- Average runtime ratio --
Mine / Other's : 1.60289
Performance tests with inputs in normal range:
-- My function --
Total time : 1050381082 ns
Average runtime : 1.70966 ns/op
Ops per second : 584911524 op/s
-- Other function --
Total time : 652266985 ns
Average runtime : 1.06167 ns/op
Ops per second : 941914912 op/s
-- Average runtime ratio --
Mine / Other's : 1.61035
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 696207332 ns
Average runtime : 1.69972 ns/op
Ops per second : 588330488 op/s
-- Other function --
Total time : 434979106 ns
Average runtime : 1.06196 ns/op
Ops per second : 941654425 op/s
-- Average runtime ratio --
Mine / Other's : 1.60055 </code></pre></details></li>
<li><details><summary>fminimum_numf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 68297153 ns
Average runtime : 1.70743 ns/op
Ops per second : 585676536 op/s
-- Other function --
Total time : 44269070 ns
Average runtime : 1.10673 ns/op
Ops per second : 903566304 op/s
-- Average runtime ratio --
Mine / Other's : 1.54277
Performance tests with inputs in normal range:
-- My function --
Total time : 66985930 ns
Average runtime : 1.67465 ns/op
Ops per second : 597140921 op/s
-- Other function --
Total time : 42230864 ns
Average runtime : 1.05577 ns/op
Ops per second : 947175506 op/s
-- Average runtime ratio --
Mine / Other's : 1.58618
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 66396005 ns
Average runtime : 1.6599 ns/op
Ops per second : 602446487 op/s
-- Other function --
Total time : 42413852 ns
Average runtime : 1.06035 ns/op
Ops per second : 943089064 op/s
-- Average runtime ratio --
Mine / Other's : 1.56543 </code></pre></details></li>
<li><details><summary>fminimum_numf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 46498729 ns
Average runtime : 2.27267 ns/op
Ops per second : 440012026 op/s
-- Other function --
Total time : 21809878 ns
Average runtime : 1.06598 ns/op
Ops per second : 938107035 op/s
-- Average runtime ratio --
Mine / Other's : 2.132
Performance tests with inputs in normal range:
-- My function --
Total time : 1336029059 ns
Average runtime : 2.1746 ns/op
Ops per second : 459855267 op/s
-- Other function --
Total time : 648834935 ns
Average runtime : 1.05608 ns/op
Ops per second : 946897225 op/s
-- Average runtime ratio --
Mine / Other's : 2.05912
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 889423251 ns
Average runtime : 2.17144 ns/op
Ops per second : 460523153 op/s
-- Other function --
Total time : 434989265 ns
Average runtime : 1.06199 ns/op
Ops per second : 941632433 op/s
-- Average runtime ratio --
Mine / Other's : 2.0447 </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>fmaxf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 77510039 ns
Average runtime : 1.93775 ns/op
Ops per second : 516062699 op/s
-- Other function --
Total time : 55581923 ns
Average runtime : 1.38955 ns/op
Ops per second : 719659159 op/s
-- Average runtime ratio --
Mine / Other's : 1.39452
Performance tests with inputs in normal range:
-- My function --
Total time : 73562122 ns
Average runtime : 1.83905 ns/op
Ops per second : 543758647 op/s
-- Other function --
Total time : 53038705 ns
Average runtime : 1.32597 ns/op
Ops per second : 754166980 op/s
-- Average runtime ratio --
Mine / Other's : 1.38695
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 74218058 ns
Average runtime : 1.85545 ns/op
Ops per second : 538952932 op/s
-- Other function --
Total time : 53254628 ns
Average runtime : 1.33136 ns/op
Ops per second : 751109180 op/s
-- Average runtime ratio --
Mine / Other's : 1.39365 </code></pre></details></li>
<li><details><summary>fmaxf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 39776448 ns
Average runtime : 1.94411 ns/op
Ops per second : 514374737 op/s
-- Other function --
Total time : 21791310 ns
Average runtime : 1.06507 ns/op
Ops per second : 938906380 op/s
-- Average runtime ratio --
Mine / Other's : 1.82534
Performance tests with inputs in normal range:
-- My function --
Total time : 1184909800 ns
Average runtime : 1.92863 ns/op
Ops per second : 518503602 op/s
-- Other function --
Total time : 648820674 ns
Average runtime : 1.05606 ns/op
Ops per second : 946918038 op/s
-- Average runtime ratio --
Mine / Other's : 1.82625
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 789903938 ns
Average runtime : 1.92848 ns/op
Ops per second : 518544066 op/s
-- Other function --
Total time : 432501869 ns
Average runtime : 1.05591 ns/op
Ops per second : 947047930 op/s
-- Average runtime ratio --
Mine / Other's : 1.82636 </code></pre></details></li>
<li><details><summary>fmaximumf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 67352760 ns
Average runtime : 1.68382 ns/op
Ops per second : 593888654 op/s
-- Other function --
Total time : 44272516 ns
Average runtime : 1.10681 ns/op
Ops per second : 903495974 op/s
-- Average runtime ratio --
Mine / Other's : 1.52132
Performance tests with inputs in normal range:
-- My function --
Total time : 64013034 ns
Average runtime : 1.60032 ns/op
Ops per second : 624873365 op/s
-- Other function --
Total time : 42232532 ns
Average runtime : 1.05581 ns/op
Ops per second : 947138097 op/s
-- Average runtime ratio --
Mine / Other's : 1.51573
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 63626939 ns
Average runtime : 1.59067 ns/op
Ops per second : 628665163 op/s
-- Other function --
Total time : 42414485 ns
Average runtime : 1.06036 ns/op
Ops per second : 943074989 op/s
-- Average runtime ratio --
Mine / Other's : 1.50012 </code></pre></details></li>
<li><details><summary>fmaximumf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 35728601 ns
Average runtime : 1.74627 ns/op
Ops per second : 572650465 op/s
-- Other function --
Total time : 21802382 ns
Average runtime : 1.06561 ns/op
Ops per second : 938429571 op/s
-- Average runtime ratio --
Mine / Other's : 1.63875
Performance tests with inputs in normal range:
-- My function --
Total time : 1037849363 ns
Average runtime : 1.68926 ns/op
Ops per second : 591974155 op/s
-- Other function --
Total time : 648849155 ns
Average runtime : 1.0561 ns/op
Ops per second : 946876473 op/s
-- Average runtime ratio --
Mine / Other's : 1.59952
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 693695165 ns
Average runtime : 1.69359 ns/op
Ops per second : 590461085 op/s
-- Other function --
Total time : 432490228 ns
Average runtime : 1.05588 ns/op
Ops per second : 947073421 op/s
-- Average runtime ratio --
Mine / Other's : 1.60396 </code></pre></details></li>
<li><details><summary>fmaximum_numf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 76347220 ns
Average runtime : 1.90868 ns/op
Ops per second : 523922678 op/s
-- Other function --
Total time : 44497180 ns
Average runtime : 1.11243 ns/op
Ops per second : 898934269 op/s
-- Average runtime ratio --
Mine / Other's : 1.71578
Performance tests with inputs in normal range:
-- My function --
Total time : 69808622 ns
Average runtime : 1.74521 ns/op
Ops per second : 572995696 op/s
-- Other function --
Total time : 42452585 ns
Average runtime : 1.06131 ns/op
Ops per second : 942228606 op/s
-- Average runtime ratio --
Mine / Other's : 1.64439
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 71524113 ns
Average runtime : 1.7881 ns/op
Ops per second : 559252513 op/s
-- Other function --
Total time : 42631284 ns
Average runtime : 1.06578 ns/op
Ops per second : 938279034 op/s
-- Average runtime ratio --
Mine / Other's : 1.67774 </code></pre></details></li>
<li><details><summary>fmaximum_numf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 44905338 ns
Average runtime : 2.19479 ns/op
Ops per second : 455625119 op/s
-- Other function --
Total time : 21796703 ns
Average runtime : 1.06533 ns/op
Ops per second : 938674073 op/s
-- Average runtime ratio --
Mine / Other's : 2.06019
Performance tests with inputs in normal range:
-- My function --
Total time : 1350096893 ns
Average runtime : 2.19749 ns/op
Ops per second : 455063635 op/s
-- Other function --
Total time : 652062773 ns
Average runtime : 1.06133 ns/op
Ops per second : 942209899 op/s
-- Average runtime ratio --
Mine / Other's : 2.0705
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 904530783 ns
Average runtime : 2.20833 ns/op
Ops per second : 452831465 op/s
-- Other function --
Total time : 434768249 ns
Average runtime : 1.06145 ns/op
Ops per second : 942111115 op/s
-- Average runtime ratio --
Mine / Other's : 2.08049 </code></pre></details></li>
<li><details><summary>fminf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 67824053 ns
Average runtime : 1.6956 ns/op
Ops per second : 589761865 op/s
-- Other function --
Total time : 55606313 ns
Average runtime : 1.39016 ns/op
Ops per second : 719343503 op/s
-- Average runtime ratio --
Mine / Other's : 1.21972
Performance tests with inputs in normal range:
-- My function --
Total time : 63797327 ns
Average runtime : 1.59493 ns/op
Ops per second : 626986143 op/s
-- Other function --
Total time : 53051709 ns
Average runtime : 1.32629 ns/op
Ops per second : 753982119 op/s
-- Average runtime ratio --
Mine / Other's : 1.20255
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 64088893 ns
Average runtime : 1.60222 ns/op
Ops per second : 624133732 op/s
-- Other function --
Total time : 53297422 ns
Average runtime : 1.33243 ns/op
Ops per second : 750506093 op/s
-- Average runtime ratio --
Mine / Other's : 1.20248 </code></pre></details></li>
<li><details><summary>fminf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 40285333 ns
Average runtime : 1.96898 ns/op
Ops per second : 507877147 op/s
-- Other function --
Total time : 21818769 ns
Average runtime : 1.06641 ns/op
Ops per second : 937724763 op/s
-- Average runtime ratio --
Mine / Other's : 1.84636
Performance tests with inputs in normal range:
-- My function --
Total time : 1198920947 ns
Average runtime : 1.95143 ns/op
Ops per second : 512444128 op/s
-- Other function --
Total time : 648701954 ns
Average runtime : 1.05586 ns/op
Ops per second : 947091335 op/s
-- Average runtime ratio --
Mine / Other's : 1.84818
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 799819060 ns
Average runtime : 1.95268 ns/op
Ops per second : 512115827 op/s
-- Other function --
Total time : 432606882 ns
Average runtime : 1.05617 ns/op
Ops per second : 946818039 op/s
-- Average runtime ratio --
Mine / Other's : 1.84884 </code></pre></details></li>
<li><details><summary>fminimumf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 55342773 ns
Average runtime : 1.38357 ns/op
Ops per second : 722768987 op/s
-- Other function --
Total time : 44488385 ns
Average runtime : 1.11221 ns/op
Ops per second : 899111981 op/s
-- Average runtime ratio --
Mine / Other's : 1.24398
Performance tests with inputs in normal range:
-- My function --
Total time : 52791369 ns
Average runtime : 1.31978 ns/op
Ops per second : 757700373 op/s
-- Other function --
Total time : 42439521 ns
Average runtime : 1.06099 ns/op
Ops per second : 942518649 op/s
-- Average runtime ratio --
Mine / Other's : 1.24392
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 53024625 ns
Average runtime : 1.32561 ns/op
Ops per second : 754367239 op/s
-- Other function --
Total time : 42623886 ns
Average runtime : 1.0656 ns/op
Ops per second : 938441886 op/s
-- Average runtime ratio --
Mine / Other's : 1.24401 </code></pre></details></li>
<li><details><summary>fminimumf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 35618349 ns
Average runtime : 1.74088 ns/op
Ops per second : 574423031 op/s
-- Other function --
Total time : 21797168 ns
Average runtime : 1.06536 ns/op
Ops per second : 938654049 op/s
-- Average runtime ratio --
Mine / Other's : 1.63408
Performance tests with inputs in normal range:
-- My function --
Total time : 1064082429 ns
Average runtime : 1.73196 ns/op
Ops per second : 577380081 op/s
-- Other function --
Total time : 652110463 ns
Average runtime : 1.06141 ns/op
Ops per second : 942140994 op/s
-- Average runtime ratio --
Mine / Other's : 1.63175
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 708239851 ns
Average runtime : 1.7291 ns/op
Ops per second : 578335149 op/s
-- Other function --
Total time : 434795029 ns
Average runtime : 1.06151 ns/op
Ops per second : 942053088 op/s
-- Average runtime ratio --
Mine / Other's : 1.62891 </code></pre></details></li>
<li><details><summary>fminimum_numf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 70605880 ns
Average runtime : 1.76515 ns/op
Ops per second : 566525620 op/s
-- Other function --
Total time : 44540447 ns
Average runtime : 1.11351 ns/op
Ops per second : 898061036 op/s
-- Average runtime ratio --
Mine / Other's : 1.58521
Performance tests with inputs in normal range:
-- My function --
Total time : 66394021 ns
Average runtime : 1.65985 ns/op
Ops per second : 602464489 op/s
-- Other function --
Total time : 42445277 ns
Average runtime : 1.06113 ns/op
Ops per second : 942390834 op/s
-- Average runtime ratio --
Mine / Other's : 1.56423
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 67117514 ns
Average runtime : 1.67794 ns/op
Ops per second : 595970226 op/s
-- Other function --
Total time : 42634449 ns
Average runtime : 1.06586 ns/op
Ops per second : 938209380 op/s
-- Average runtime ratio --
Mine / Other's : 1.57426 </code></pre></details></li>
<li><details><summary>fminimum_numf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 46274563 ns
Average runtime : 2.26171 ns/op
Ops per second : 442143559 op/s
-- Other function --
Total time : 21804334 ns
Average runtime : 1.06571 ns/op
Ops per second : 938345560 op/s
-- Average runtime ratio --
Mine / Other's : 2.12226
Performance tests with inputs in normal range:
-- My function --
Total time : 1335021784 ns
Average runtime : 2.17296 ns/op
Ops per second : 460202228 op/s
-- Other function --
Total time : 652432164 ns
Average runtime : 1.06194 ns/op
Ops per second : 941676443 op/s
-- Average runtime ratio --
Mine / Other's : 2.04622
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 887424121 ns
Average runtime : 2.16656 ns/op
Ops per second : 461560589 op/s
-- Other function --
Total time : 434939911 ns
Average runtime : 1.06187 ns/op
Ops per second : 941739283 op/s
-- Average runtime ratio --
Mine / Other's : 2.04034 </code></pre></details></li>
</li></ul></details>
<li><details><summary>Google Tensor G3, Clang 17</summary><ul>
<li><details><summary>fmaxf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 75513468 ns
Average runtime : 1.88783 ns/op
Ops per second : 529707362 op/s
-- Other function --
Total time : 29760294 ns
Average runtime : 0.744007 ns/op
Ops per second : 1344074087 op/s
-- Average runtime ratio --
Mine / Other's : 2.53739
Performance tests with inputs in normal range:
-- My function --
Total time : 73394125 ns
Average runtime : 1.83485 ns/op
Ops per second : 545003295 op/s
-- Other function --
Total time : 27909709 ns
Average runtime : 0.697742 ns/op
Ops per second : 1433194448 op/s
-- Average runtime ratio --
Mine / Other's : 2.6297
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 73853394 ns
Average runtime : 1.84633 ns/op
Ops per second : 541614106 op/s
-- Other function --
Total time : 29400187 ns
Average runtime : 0.735004 ns/op
Ops per second : 1360536924 op/s
-- Average runtime ratio --
Mine / Other's : 2.512 </code></pre></details></li>
<li><details><summary>fmaxf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 28572795 ns
Average runtime : 1.39652 ns/op
Ops per second : 716065754 op/s
-- Other function --
Total time : 17749959 ns
Average runtime : 0.867544 ns/op
Ops per second : 1152678718 op/s
-- Average runtime ratio --
Mine / Other's : 1.60974
Performance tests with inputs in normal range:
-- My function --
Total time : 859805583 ns
Average runtime : 1.39947 ns/op
Ops per second : 714556886 op/s
-- Other function --
Total time : 483695028 ns
Average runtime : 0.78729 ns/op
Ops per second : 1270180515 op/s
-- Average runtime ratio --
Mine / Other's : 1.77758
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 578364299 ns
Average runtime : 1.41202 ns/op
Ops per second : 708204155 op/s
-- Other function --
Total time : 284638550 ns
Average runtime : 0.694918 ns/op
Ops per second : 1439018010 op/s
-- Average runtime ratio --
Mine / Other's : 2.03193 </code></pre></details></li>
<li><details><summary>fmaximumf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 44287882 ns
Average runtime : 1.1072 ns/op
Ops per second : 903182500 op/s
-- Other function --
Total time : 29652018 ns
Average runtime : 0.7413 ns/op
Ops per second : 1348982049 op/s
-- Average runtime ratio --
Mine / Other's : 1.49359
Performance tests with inputs in normal range:
-- My function --
Total time : 75609620 ns
Average runtime : 1.89024 ns/op
Ops per second : 529033739 op/s
-- Other function --
Total time : 28423584 ns
Average runtime : 0.710589 ns/op
Ops per second : 1407283472 op/s
-- Average runtime ratio --
Mine / Other's : 2.6601
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 75952393 ns
Average runtime : 1.89881 ns/op
Ops per second : 526646211 op/s
-- Other function --
Total time : 28614339 ns
Average runtime : 0.715358 ns/op
Ops per second : 1397901940 op/s
-- Average runtime ratio --
Mine / Other's : 2.65435 </code></pre></details></li>
<li><details><summary>fmaximumf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 21708903 ns
Average runtime : 1.06104 ns/op
Ops per second : 942470469 op/s
-- Other function --
Total time : 15082397 ns
Average runtime : 0.737165 ns/op
Ops per second : 1356548299 op/s
-- Average runtime ratio --
Mine / Other's : 1.43935
Performance tests with inputs in normal range:
-- My function --
Total time : 666345744 ns
Average runtime : 1.08458 ns/op
Ops per second : 922013842 op/s
-- Other function --
Total time : 431494507 ns
Average runtime : 0.702325 ns/op
Ops per second : 1423841995 op/s
-- Average runtime ratio --
Mine / Other's : 1.54427
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 458576783 ns
Average runtime : 1.11957 ns/op
Ops per second : 893198293 op/s
-- Other function --
Total time : 288050334 ns
Average runtime : 0.703248 ns/op
Ops per second : 1421973702 op/s
-- Average runtime ratio --
Mine / Other's : 1.592 </code></pre></details></li>
<li><details><summary>fmaximum_numf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 106298787 ns
Average runtime : 2.65747 ns/op
Ops per second : 376298179 op/s
-- Other function --
Total time : 30727905 ns
Average runtime : 0.768197 ns/op
Ops per second : 1301749663 op/s
-- Average runtime ratio --
Mine / Other's : 3.45936
Performance tests with inputs in normal range:
-- My function --
Total time : 101904053 ns
Average runtime : 2.5476 ns/op
Ops per second : 392526487 op/s
-- Other function --
Total time : 28681885 ns
Average runtime : 0.717046 ns/op
Ops per second : 1394609873 op/s
-- Average runtime ratio --
Mine / Other's : 3.55291
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 100663412 ns
Average runtime : 2.51658 ns/op
Ops per second : 397364237 op/s
-- Other function --
Total time : 29932862 ns
Average runtime : 0.748321 ns/op
Ops per second : 1336325273 op/s
-- Average runtime ratio --
Mine / Other's : 3.36297 </code></pre></details></li>
<li><details><summary>fmaximum_numf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 51358683 ns
Average runtime : 2.5102 ns/op
Ops per second : 398374701 op/s
-- Other function --
Total time : 16035563 ns
Average runtime : 0.783752 ns/op
Ops per second : 1275914041 op/s
-- Average runtime ratio --
Mine / Other's : 3.2028
Performance tests with inputs in normal range:
-- My function --
Total time : 1548287476 ns
Average runtime : 2.52008 ns/op
Ops per second : 396812613 op/s
-- Other function --
Total time : 430510132 ns
Average runtime : 0.700723 ns/op
Ops per second : 1427097655 op/s
-- Average runtime ratio --
Mine / Other's : 3.5964
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1034102214 ns
Average runtime : 2.52466 ns/op
Ops per second : 396092373 op/s
-- Other function --
Total time : 286726807 ns
Average runtime : 0.700017 ns/op
Ops per second : 1428537513 op/s
-- Average runtime ratio --
Mine / Other's : 3.60658 </code></pre></details></li>
<li><details><summary>fminf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 60813314 ns
Average runtime : 1.52033 ns/op
Ops per second : 657751360 op/s
-- Other function --
Total time : 30801961 ns
Average runtime : 0.770048 ns/op
Ops per second : 1298619915 op/s
-- Average runtime ratio --
Mine / Other's : 1.97433
Performance tests with inputs in normal range:
-- My function --
Total time : 75545980 ns
Average runtime : 1.88865 ns/op
Ops per second : 529479397 op/s
-- Other function --
Total time : 28527466 ns
Average runtime : 0.713186 ns/op
Ops per second : 1402158887 op/s
-- Average runtime ratio --
Mine / Other's : 2.64818
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 75871379 ns
Average runtime : 1.89678 ns/op
Ops per second : 527208553 op/s
-- Other function --
Total time : 28546631 ns
Average runtime : 0.713665 ns/op
Ops per second : 1401217537 op/s
-- Average runtime ratio --
Mine / Other's : 2.65781 </code></pre></details></li>
<li><details><summary>fminf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 28254354 ns
Average runtime : 1.38096 ns/op
Ops per second : 724136180 op/s
-- Other function --
Total time : 14814819 ns
Average runtime : 0.724087 ns/op
Ops per second : 1381049609 op/s
-- Average runtime ratio --
Mine / Other's : 1.90717
Performance tests with inputs in normal range:
-- My function --
Total time : 856994385 ns
Average runtime : 1.39489 ns/op
Ops per second : 716900846 op/s
-- Other function --
Total time : 428132650 ns
Average runtime : 0.696853 ns/op
Ops per second : 1435022533 op/s
-- Average runtime ratio --
Mine / Other's : 2.0017
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 574573080 ns
Average runtime : 1.40277 ns/op
Ops per second : 712877115 op/s
-- Other function --
Total time : 288163330 ns
Average runtime : 0.703524 ns/op
Ops per second : 1421416111 op/s
-- Average runtime ratio --
Mine / Other's : 1.99391 </code></pre></details></li>
<li><details><summary>fminimumf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 44769654 ns
Average runtime : 1.11924 ns/op
Ops per second : 893463237 op/s
-- Other function --
Total time : 29929444 ns
Average runtime : 0.748235 ns/op
Ops per second : 1336477884 op/s
-- Average runtime ratio --
Mine / Other's : 1.49584
Performance tests with inputs in normal range:
-- My function --
Total time : 75196900 ns
Average runtime : 1.87992 ns/op
Ops per second : 531937353 op/s
-- Other function --
Total time : 28091024 ns
Average runtime : 0.702275 ns/op
Ops per second : 1423943819 op/s
-- Average runtime ratio --
Mine / Other's : 2.6769
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 59529989 ns
Average runtime : 1.48825 ns/op
Ops per second : 671930915 op/s
-- Other function --
Total time : 28930217 ns
Average runtime : 0.723255 ns/op
Ops per second : 1382638782 op/s
-- Average runtime ratio --
Mine / Other's : 2.05771 </code></pre></details></li>
<li><details><summary>fminimumf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 38169026 ns
Average runtime : 1.86554 ns/op
Ops per second : 536036733 op/s
-- Other function --
Total time : 14436401 ns
Average runtime : 0.705591 ns/op
Ops per second : 1417250739 op/s
-- Average runtime ratio --
Mine / Other's : 2.64394
Performance tests with inputs in normal range:
-- My function --
Total time : 668715414 ns
Average runtime : 1.08844 ns/op
Ops per second : 918746580 op/s
-- Other function --
Total time : 430397746 ns
Average runtime : 0.70054 ns/op
Ops per second : 1427470300 op/s
-- Average runtime ratio --
Mine / Other's : 1.55371
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 462626018 ns
Average runtime : 1.12946 ns/op
Ops per second : 885380380 op/s
-- Other function --
Total time : 284878784 ns
Average runtime : 0.695505 ns/op
Ops per second : 1437804508 op/s
-- Average runtime ratio --
Mine / Other's : 1.62394 </code></pre></details></li>
<li><details><summary>fminimum_numf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 92256592 ns
Average runtime : 2.30641 ns/op
Ops per second : 433573787 op/s
-- Other function --
Total time : 32086100 ns
Average runtime : 0.802152 ns/op
Ops per second : 1246646990 op/s
-- Average runtime ratio --
Mine / Other's : 2.87528
Performance tests with inputs in normal range:
-- My function --
Total time : 88569784 ns
Average runtime : 2.21424 ns/op
Ops per second : 451621740 op/s
-- Other function --
Total time : 29799154 ns
Average runtime : 0.744978 ns/op
Ops per second : 1342321328 op/s
-- Average runtime ratio --
Mine / Other's : 2.97222
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 89397461 ns
Average runtime : 2.23493 ns/op
Ops per second : 447440448 op/s
-- Other function --
Total time : 30559774 ns
Average runtime : 0.763994 ns/op
Ops per second : 1308911512 op/s
-- Average runtime ratio --
Mine / Other's : 2.92533 </code></pre></details></li>
<li><details><summary>fminimum_numf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 50284139 ns
Average runtime : 2.45768 ns/op
Ops per second : 406887746 op/s
-- Other function --
Total time : 14620199 ns
Average runtime : 0.714575 ns/op
Ops per second : 1399433755 op/s
-- Average runtime ratio --
Mine / Other's : 3.43936
Performance tests with inputs in normal range:
-- My function --
Total time : 1538015382 ns
Average runtime : 2.50336 ns/op
Ops per second : 399462844 op/s
-- Other function --
Total time : 436742147 ns
Average runtime : 0.710866 ns/op
Ops per second : 1406733937 op/s
-- Average runtime ratio --
Mine / Other's : 3.52156
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1031582845 ns
Average runtime : 2.51851 ns/op
Ops per second : 397059724 op/s
-- Other function --
Total time : 286090739 ns
Average runtime : 0.698464 ns/op
Ops per second : 1431713593 op/s
-- Average runtime ratio --
Mine / Other's : 3.60579 </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>fmaxf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 76075847 ns
Average runtime : 1.90189 ns/op
Ops per second : 525791582 op/s
-- Other function --
Total time : 29863119 ns
Average runtime : 0.746577 ns/op
Ops per second : 1339446157 op/s
-- Average runtime ratio --
Mine / Other's : 2.54748
Performance tests with inputs in normal range:
-- My function --
Total time : 74323364 ns
Average runtime : 1.85808 ns/op
Ops per second : 538189310 op/s
-- Other function --
Total time : 28493246 ns
Average runtime : 0.71233 ns/op
Ops per second : 1403842861 op/s
-- Average runtime ratio --
Mine / Other's : 2.60846
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 74095866 ns
Average runtime : 1.85239 ns/op
Ops per second : 539841723 op/s
-- Other function --
Total time : 28831421 ns
Average runtime : 0.720785 ns/op
Ops per second : 1387376640 op/s
-- Average runtime ratio --
Mine / Other's : 2.56997 </code></pre></details></li>
<li><details><summary>fmaxf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 36966390 ns
Average runtime : 1.80676 ns/op
Ops per second : 553475738 op/s
-- Other function --
Total time : 17701538 ns
Average runtime : 0.865178 ns/op
Ops per second : 1155831770 op/s
-- Average runtime ratio --
Mine / Other's : 2.08832
Performance tests with inputs in normal range:
-- My function --
Total time : 639221354 ns
Average runtime : 1.04043 ns/op
Ops per second : 961138103 op/s
-- Other function --
Total time : 467717774 ns
Average runtime : 0.761284 ns/op
Ops per second : 1313569922 op/s
-- Average runtime ratio --
Mine / Other's : 1.36668
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 457701131 ns
Average runtime : 1.11743 ns/op
Ops per second : 894907117 op/s
-- Other function --
Total time : 325067016 ns
Average runtime : 0.793621 ns/op
Ops per second : 1260047866 op/s
-- Average runtime ratio --
Mine / Other's : 1.40802 </code></pre></details></li>
<li><details><summary>fmaximumf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 77589315 ns
Average runtime : 1.93973 ns/op
Ops per second : 515535418 op/s
-- Other function --
Total time : 43328898 ns
Average runtime : 1.08322 ns/op
Ops per second : 923172336 op/s
-- Average runtime ratio --
Mine / Other's : 1.79071
Performance tests with inputs in normal range:
-- My function --
Total time : 75517904 ns
Average runtime : 1.88795 ns/op
Ops per second : 529676247 op/s
-- Other function --
Total time : 41386556 ns
Average runtime : 1.03466 ns/op
Ops per second : 966498396 op/s
-- Average runtime ratio --
Mine / Other's : 1.8247
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 75443319 ns
Average runtime : 1.88608 ns/op
Ops per second : 530199897 op/s
-- Other function --
Total time : 41487386 ns
Average runtime : 1.03718 ns/op
Ops per second : 964149440 op/s
-- Average runtime ratio --
Mine / Other's : 1.81846 </code></pre></details></li>
<li><details><summary>fmaximumf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 39995484 ns
Average runtime : 1.95481 ns/op
Ops per second : 511557754 op/s
-- Other function --
Total time : 17820963 ns
Average runtime : 0.871015 ns/op
Ops per second : 1148086105 op/s
-- Average runtime ratio --
Mine / Other's : 2.24429
Performance tests with inputs in normal range:
-- My function --
Total time : 699687663 ns
Average runtime : 1.13885 ns/op
Ops per second : 878077508 op/s
-- Other function --
Total time : 429962891 ns
Average runtime : 0.699832 ns/op
Ops per second : 1428914012 op/s
-- Average runtime ratio --
Mine / Other's : 1.62732
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 484343058 ns
Average runtime : 1.18248 ns/op
Ops per second : 845681574 op/s
-- Other function --
Total time : 285764485 ns
Average runtime : 0.697667 ns/op
Ops per second : 1433348164 op/s
-- Average runtime ratio --
Mine / Other's : 1.6949 </code></pre></details></li>
<li><details><summary>fmaximum_numf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 160577637 ns
Average runtime : 4.01444 ns/op
Ops per second : 249100938 op/s
-- Other function --
Total time : 52017985 ns
Average runtime : 1.30045 ns/op
Ops per second : 768965579 op/s
-- Average runtime ratio --
Mine / Other's : 3.08696
Performance tests with inputs in normal range:
-- My function --
Total time : 146904663 ns
Average runtime : 3.67261 ns/op
Ops per second : 272285706 op/s
-- Other function --
Total time : 48684774 ns
Average runtime : 1.21712 ns/op
Ops per second : 821612933 op/s
-- Average runtime ratio --
Mine / Other's : 3.01747
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 144039795 ns
Average runtime : 3.60099 ns/op
Ops per second : 277701311 op/s
-- Other function --
Total time : 41532593 ns
Average runtime : 1.03831 ns/op
Ops per second : 963099992 op/s
-- Average runtime ratio --
Mine / Other's : 3.46811 </code></pre></details></li>
<li><details><summary>fmaximum_numf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 77536214 ns
Average runtime : 3.78965 ns/op
Ops per second : 263876696 op/s
-- Other function --
Total time : 14888875 ns
Average runtime : 0.727707 ns/op
Ops per second : 1374180386 op/s
-- Average runtime ratio --
Mine / Other's : 5.20766
Performance tests with inputs in normal range:
-- My function --
Total time : 1873810100 ns
Average runtime : 3.04992 ns/op
Ops per second : 327877408 op/s
-- Other function --
Total time : 430191325 ns
Average runtime : 0.700204 ns/op
Ops per second : 1428155251 op/s
-- Average runtime ratio --
Mine / Other's : 4.35576
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1568347128 ns
Average runtime : 3.82897 ns/op
Ops per second : 261166672 op/s
-- Other function --
Total time : 290066081 ns
Average runtime : 0.708169 ns/op
Ops per second : 1412092026 op/s
-- Average runtime ratio --
Mine / Other's : 5.40686 </code></pre></details></li>
<li><details><summary>fminf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 77639363 ns
Average runtime : 1.94098 ns/op
Ops per second : 515203093 op/s
-- Other function --
Total time : 43953288 ns
Average runtime : 1.09883 ns/op
Ops per second : 910057968 op/s
-- Average runtime ratio --
Mine / Other's : 1.76641
Performance tests with inputs in normal range:
-- My function --
Total time : 75565633 ns
Average runtime : 1.88914 ns/op
Ops per second : 529341691 op/s
-- Other function --
Total time : 41919190 ns
Average runtime : 1.04798 ns/op
Ops per second : 954217865 op/s
-- Average runtime ratio --
Mine / Other's : 1.80265
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 75709147 ns
Average runtime : 1.89273 ns/op
Ops per second : 528338273 op/s
-- Other function --
Total time : 42126017 ns
Average runtime : 1.05315 ns/op
Ops per second : 949532921 op/s
-- Average runtime ratio --
Mine / Other's : 1.79721 </code></pre></details></li>
<li><details><summary>fminf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 39869303 ns
Average runtime : 1.94865 ns/op
Ops per second : 513176766 op/s
-- Other function --
Total time : 17714762 ns
Average runtime : 0.865824 ns/op
Ops per second : 1154968946 op/s
-- Average runtime ratio --
Mine / Other's : 2.25063
Performance tests with inputs in normal range:
-- My function --
Total time : 703114624 ns
Average runtime : 1.14443 ns/op
Ops per second : 873797783 op/s
-- Other function --
Total time : 453043620 ns
Average runtime : 0.7374 ns/op
Ops per second : 1356116658 op/s
-- Average runtime ratio --
Mine / Other's : 1.55198
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 462928752 ns
Average runtime : 1.1302 ns/op
Ops per second : 884801382 op/s
-- Other function --
Total time : 325607300 ns
Average runtime : 0.79494 ns/op
Ops per second : 1257957054 op/s
-- Average runtime ratio --
Mine / Other's : 1.42174 </code></pre></details></li>
<li><details><summary>fminimumf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 93882284 ns
Average runtime : 2.34705 ns/op
Ops per second : 426065901 op/s
-- Other function --
Total time : 43306031 ns
Average runtime : 1.08265 ns/op
Ops per second : 923659801 op/s
-- Average runtime ratio --
Mine / Other's : 2.16788
Performance tests with inputs in normal range:
-- My function --
Total time : 74952148 ns
Average runtime : 1.8738 ns/op
Ops per second : 533674365 op/s
-- Other function --
Total time : 56312540 ns
Average runtime : 1.40781 ns/op
Ops per second : 710322070 op/s
-- Average runtime ratio --
Mine / Other's : 1.331
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 75202270 ns
Average runtime : 1.88005 ns/op
Ops per second : 531899369 op/s
-- Other function --
Total time : 41424276 ns
Average runtime : 1.03561 ns/op
Ops per second : 965618324 op/s
-- Average runtime ratio --
Mine / Other's : 1.81542 </code></pre></details></li>
<li><details><summary>fminimumf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 38685750 ns
Average runtime : 1.8908 ns/op
Ops per second : 528876912 op/s
-- Other function --
Total time : 14577229 ns
Average runtime : 0.712475 ns/op
Ops per second : 1403558934 op/s
-- Average runtime ratio --
Mine / Other's : 2.65385
Performance tests with inputs in normal range:
-- My function --
Total time : 751549805 ns
Average runtime : 1.22327 ns/op
Ops per second : 817484078 op/s
-- Other function --
Total time : 432962891 ns
Average runtime : 0.704715 ns/op
Ops per second : 1419013067 op/s
-- Average runtime ratio --
Mine / Other's : 1.73583
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 526040120 ns
Average runtime : 1.28428 ns/op
Ops per second : 778647833 op/s
-- Other function --
Total time : 289277018 ns
Average runtime : 0.706243 ns/op
Ops per second : 1415943799 op/s
-- Average runtime ratio --
Mine / Other's : 1.81846 </code></pre></details></li>
<li><details><summary>fminimum_numf</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 147885538 ns
Average runtime : 3.69713 ns/op
Ops per second : 270479727 op/s
-- Other function --
Total time : 43274862 ns
Average runtime : 1.08187 ns/op
Ops per second : 924325073 op/s
-- Average runtime ratio --
Mine / Other's : 3.41735
Performance tests with inputs in normal range:
-- My function --
Total time : 145146200 ns
Average runtime : 3.62865 ns/op
Ops per second : 275584479 op/s
-- Other function --
Total time : 41209839 ns
Average runtime : 1.03024 ns/op
Ops per second : 970642957 op/s
-- Average runtime ratio --
Mine / Other's : 3.52212
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 145701049 ns
Average runtime : 3.64252 ns/op
Ops per second : 274535017 op/s
-- Other function --
Total time : 41530680 ns
Average runtime : 1.03827 ns/op
Ops per second : 963144354 op/s
-- Average runtime ratio --
Mine / Other's : 3.50828 </code></pre></details></li>
<li><details><summary>fminimum_numf16</summary><pre><code> Performance tests with inputs in denormal range:
-- My function --
Total time : 91348877 ns
Average runtime : 4.46475 ns/op
Ops per second : 223976480 op/s
-- Other function --
Total time : 14285441 ns
Average runtime : 0.698213 ns/op
Ops per second : 1432227398 op/s
-- Average runtime ratio --
Mine / Other's : 6.39454
Performance tests with inputs in normal range:
-- My function --
Total time : 1373515748 ns
Average runtime : 2.23561 ns/op
Ops per second : 447304663 op/s
-- Other function --
Total time : 432648356 ns
Average runtime : 0.704203 ns/op
Ops per second : 1420044688 op/s
-- Average runtime ratio --
Mine / Other's : 3.17467
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 1185378948 ns
Average runtime : 2.89399 ns/op
Ops per second : 345543507 op/s
-- Other function --
Total time : 291605509 ns
Average runtime : 0.711928 ns/op
Ops per second : 1404637386 op/s
-- Average runtime ratio --
Mine / Other's : 4.06501 </code></pre></details></li>
</li></ul></details>
</ul>
https://github.com/llvm/llvm-project/pull/100002
More information about the libc-commits
mailing list