The MASM Forum
General => The Laboratory => Topic started by: jj2007 on September 04, 2020, 09:18:30 PM
-
May I have some timings, please? This is for checking if slow math functions can be replaced with faster proxies.
Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz (SSE4)
1337 µs for initialising FastLog10
2885 cycles for 100 * Log10 (Guga)
1476 cycles for 100 * FastMath Log10
10679 cycles for 100 * fptan
1402 cycles for 100 * FastTan
8200 cycles for 100 * fsin
1486 cycles for 100 * FastSin
12313 cycles for 100 * CRT BesselJ0
1397 cycles for 100 * FastBesselJ0
2879 cycles for 100 * Log10 (Guga)
1500 cycles for 100 * FastMath Log10
10672 cycles for 100 * fptan
1396 cycles for 100 * FastTan
8201 cycles for 100 * fsin
1493 cycles for 100 * FastSin
12318 cycles for 100 * CRT BesselJ0
1397 cycles for 100 * FastBesselJ0
2883 cycles for 100 * Log10 (Guga)
1488 cycles for 100 * FastMath Log10
10679 cycles for 100 * fptan
1395 cycles for 100 * FastTan
8204 cycles for 100 * fsin
1490 cycles for 100 * FastSin
12290 cycles for 100 * CRT BesselJ0
1387 cycles for 100 * FastBesselJ0
2884 cycles for 100 * Log10 (Guga)
1510 cycles for 100 * FastMath Log10
10709 cycles for 100 * fptan
1397 cycles for 100 * FastTan
8183 cycles for 100 * fsin
1491 cycles for 100 * FastSin
12306 cycles for 100 * CRT BesselJ0
1386 cycles for 100 * FastBesselJ0
2869 cycles for 100 * Log10 (Guga)
1486 cycles for 100 * FastMath Log10
10696 cycles for 100 * fptan
1394 cycles for 100 * FastTan
8183 cycles for 100 * fsin
1497 cycles for 100 * FastSin
12308 cycles for 100 * CRT BesselJ0
1392 cycles for 100 * FastBesselJ0
Real8 0.6989700043360187465 Log10 (Guga)
Real8 0.6989700043360188575 FastMath Log10
Real8 1.000003619996628679 fptan
Real8 1.000003614159206133 FastTan
Real8 0.4794255386042030054 fsin
Real8 0.4794255386042030054 FastSin
Real8 0.9384698072408128589 CRT BesselJ0
Real8 0.9384698072408128589 FastBesselJ0
-
Hi,
Two results (sort of).
Windows XP
Intel(R) Pentium(R) M processor 1.70GHz
"LOG10_FA.EXE has encountered a problem and needs to close.
We are sorry for the inconvenience."
... "Please tell Microsoft about this problem."
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Windows\System32>g:
G:\>cd temp
G:\TEMP>cd test
G:\TEMP\TEST>LOG10_FA.EXE
Intel(R) Core(TM) i3-4005U CPU @ 1.70GHz (SSE4)
5001 elements
5001 elements
5001 elements
16 ms for initialising FastLog10
2792 cycles for 100 * Log10 (Guga)
1522 cycles for 100 * FastMath Log10
13172 cycles for 100 * fptan
1549 cycles for 100 * FastTan
9875 cycles for 100 * fsin
1686 cycles for 100 * FastSin
14603 cycles for 100 * CRT BesselJ0
1547 cycles for 100 * FastBesselJ0
2803 cycles for 100 * Log10 (Guga)
1523 cycles for 100 * FastMath Log10
13190 cycles for 100 * fptan
1548 cycles for 100 * FastTan
9873 cycles for 100 * fsin
1696 cycles for 100 * FastSin
14600 cycles for 100 * CRT BesselJ0
1548 cycles for 100 * FastBesselJ0
2792 cycles for 100 * Log10 (Guga)
1524 cycles for 100 * FastMath Log10
13172 cycles for 100 * fptan
1552 cycles for 100 * FastTan
9879 cycles for 100 * fsin
1686 cycles for 100 * FastSin
14602 cycles for 100 * CRT BesselJ0
1548 cycles for 100 * FastBesselJ0
2798 cycles for 100 * Log10 (Guga)
1522 cycles for 100 * FastMath Log10
13175 cycles for 100 * fptan
1548 cycles for 100 * FastTan
9876 cycles for 100 * fsin
1686 cycles for 100 * FastSin
14602 cycles for 100 * CRT BesselJ0
1547 cycles for 100 * FastBesselJ0
2793 cycles for 100 * Log10 (Guga)
1521 cycles for 100 * FastMath Log10
13172 cycles for 100 * fptan
1548 cycles for 100 * FastTan
9873 cycles for 100 * fsin
1687 cycles for 100 * FastSin
14601 cycles for 100 * CRT BesselJ0
1552 cycles for 100 * FastBesselJ0
Real8 0.6989700043360187465 Log10 (Guga)
Real8 0.6989700043360188575 FastMath Log10
Real8 1.000003619996628679 fptan
Real8 1.000003614159206133 FastTan
Real8 0.4794255386042030054 fsin
Real8 0.4794255386042030054 FastSin
Real8 0.9384698072408128589 CRT BesselJ0
Real8 0.9384698072408128589 FastBesselJ0
--- ok ---
Regards,
Steve N.
-
hello,
windows 10
Intel(R) Core(TM) i3-4150 CPU @ 3.50GHz (SSE4)
13 ms for initialising five Fast* functions
2922 cycles for 100 * Log10 (Guga)
1550 cycles for 100 * FastMath Log10
13298 cycles for 100 * fptan
2066 cycles for 100 * FastTan
10263 cycles for 100 * fsin
2043 cycles for 100 * FastSin
15159 cycles for 100 * CRT BesselJ0
1653 cycles for 100 * FastBesselJ0
2829 cycles for 100 * Log10 (Guga)
1535 cycles for 100 * FastMath Log10
13356 cycles for 100 * fptan
1615 cycles for 100 * FastTan
10025 cycles for 100 * fsin
1626 cycles for 100 * FastSin
14824 cycles for 100 * CRT BesselJ0
1586 cycles for 100 * FastBesselJ0
2857 cycles for 100 * Log10 (Guga)
1615 cycles for 100 * FastMath Log10
13501 cycles for 100 * fptan
1648 cycles for 100 * FastTan
9932 cycles for 100 * fsin
1618 cycles for 100 * FastSin
14886 cycles for 100 * CRT BesselJ0
1832 cycles for 100 * FastBesselJ0
3454 cycles for 100 * Log10 (Guga)
1656 cycles for 100 * FastMath Log10
13335 cycles for 100 * fptan
1587 cycles for 100 * FastTan
9952 cycles for 100 * fsin
1571 cycles for 100 * FastSin
14808 cycles for 100 * CRT BesselJ0
1578 cycles for 100 * FastBesselJ0
2834 cycles for 100 * Log10 (Guga)
1721 cycles for 100 * FastMath Log10
13306 cycles for 100 * fptan
1560 cycles for 100 * FastTan
10006 cycles for 100 * fsin
1567 cycles for 100 * FastSin
14748 cycles for 100 * CRT BesselJ0
1566 cycles for 100 * FastBesselJ0
Real8 0.6989700043360187465 Log10 (Guga)
Real8 0.6989700043360188575 FastMath Log10
Real8 1.000003619996628679 fptan
Real8 1.000003614159206133 FastTan
Real8 0.4794255386042030054 fsin
Real8 0.4794255386042030054 FastSin
Real8 0.9384698072408128589 CRT BesselJ0
Real8 0.9384698072408128589 FastBesselJ0
-
-
Thanks, Steve and Yves. I wonder if the Pentium M supports fisttp :cool:
WinXP is not to blame, with my VM the results are very similar (as expected), with one exception - the CRT Bessel function is much slower:
Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz (SSE4)
1369 µs for initialising five Fast* functions
3013 cycles for 100 * Log10 (Guga)
1500 cycles for 100 * FastMath Log10
11406 cycles for 100 * fptan
1528 cycles for 100 * FastTan
8650 cycles for 100 * fsin
1498 cycles for 100 * FastSin
20460 cycles for 100 * CRT BesselJ0
1457 cycles for 100 * FastBesselJ0
2976 cycles for 100 * Log10 (Guga)
1491 cycles for 100 * FastMath Log10
11296 cycles for 100 * fptan
1467 cycles for 100 * FastTan
8653 cycles for 100 * fsin
1501 cycles for 100 * FastSin
20471 cycles for 100 * CRT BesselJ0
1468 cycles for 100 * FastBesselJ0
-
Intel(R) Core(TM) i7-4930K CPU @ 3.40GHz (SSE4)
3553 µs for initialising five Fast* functions
3151 cycles for 100 * Log10 (Guga)
1693 cycles for 100 * FastMath Log10
13133 cycles for 100 * fptan
1679 cycles for 100 * FastTan
10034 cycles for 100 * fsin
1726 cycles for 100 * FastSin
14843 cycles for 100 * CRT BesselJ0
1677 cycles for 100 * FastBesselJ0
3151 cycles for 100 * Log10 (Guga)
1694 cycles for 100 * FastMath Log10
13132 cycles for 100 * fptan
1676 cycles for 100 * FastTan
10044 cycles for 100 * fsin
1730 cycles for 100 * FastSin
14852 cycles for 100 * CRT BesselJ0
1676 cycles for 100 * FastBesselJ0
3153 cycles for 100 * Log10 (Guga)
1694 cycles for 100 * FastMath Log10
13132 cycles for 100 * fptan
1677 cycles for 100 * FastTan
10028 cycles for 100 * fsin
1726 cycles for 100 * FastSin
14826 cycles for 100 * CRT BesselJ0
1674 cycles for 100 * FastBesselJ0
3150 cycles for 100 * Log10 (Guga)
1693 cycles for 100 * FastMath Log10
13134 cycles for 100 * fptan
1677 cycles for 100 * FastTan
10031 cycles for 100 * fsin
1724 cycles for 100 * FastSin
14859 cycles for 100 * CRT BesselJ0
1674 cycles for 100 * FastBesselJ0
3148 cycles for 100 * Log10 (Guga)
1694 cycles for 100 * FastMath Log10
13133 cycles for 100 * fptan
1675 cycles for 100 * FastTan
10042 cycles for 100 * fsin
1725 cycles for 100 * FastSin
14833 cycles for 100 * CRT BesselJ0
1673 cycles for 100 * FastBesselJ0
Real8 0.6989700043360187465 Log10 (Guga)
Real8 0.6989700043360188575 FastMath Log10
Real8 1.000003619996628679 fptan
Real8 1.000003614159206133 FastTan
Real8 0.4794255386042030054 fsin
Real8 0.4794255386042030054 FastSin
Real8 0.9384698072408128589 CRT BesselJ0
Real8 0.9384698072408128589 FastBesselJ0
--- ok ---
-
Intel(R) Core(TM) i5-9400H CPU @ 2.50GHz (SSE4)
1498 µs for initialising five Fast* functions
1607 cycles for 100 * Log10 (Guga)
677 cycles for 100 * FastMath Log10
9076 cycles for 100 * fptan
655 cycles for 100 * FastTan
6974 cycles for 100 * fsin
659 cycles for 100 * FastSin
7928 cycles for 100 * CRT BesselJ0
694 cycles for 100 * FastBesselJ0
1634 cycles for 100 * Log10 (Guga)
678 cycles for 100 * FastMath Log10
8921 cycles for 100 * fptan
662 cycles for 100 * FastTan
6948 cycles for 100 * fsin
667 cycles for 100 * FastSin
8052 cycles for 100 * CRT BesselJ0
664 cycles for 100 * FastBesselJ0
1611 cycles for 100 * Log10 (Guga)
746 cycles for 100 * FastMath Log10
8873 cycles for 100 * fptan
656 cycles for 100 * FastTan
6967 cycles for 100 * fsin
664 cycles for 100 * FastSin
7934 cycles for 100 * CRT BesselJ0
653 cycles for 100 * FastBesselJ0
1626 cycles for 100 * Log10 (Guga)
663 cycles for 100 * FastMath Log10
8861 cycles for 100 * fptan
655 cycles for 100 * FastTan
6911 cycles for 100 * fsin
669 cycles for 100 * FastSin
7933 cycles for 100 * CRT BesselJ0
664 cycles for 100 * FastBesselJ0
1676 cycles for 100 * Log10 (Guga)
663 cycles for 100 * FastMath Log10
8868 cycles for 100 * fptan
653 cycles for 100 * FastTan
6942 cycles for 100 * fsin
671 cycles for 100 * FastSin
7947 cycles for 100 * CRT BesselJ0
668 cycles for 100 * FastBesselJ0
Real8 0.6989700043360187465 Log10 (Guga)
Real8 0.6989700043360188575 FastMath Log10
Real8 1.000003619996628679 fptan
Real8 1.000003614159206133 FastTan
Real8 0.4794255386042030054 fsin
Real8 0.4794255386042030054 FastSin
Real8 0.9384698072408128589 CRT BesselJ0
Real8 0.9384698072408128589 FastBesselJ0
-
-
AMD Ryzen 5 2400G with Radeon Vega Graphics (SSE4)
2994 µs for initialising five Fast* functions
2720 cycles for 100 * Log10 (Guga)
2245 cycles for 100 * FastMath Log10
9354 cycles for 100 * fptan
1707 cycles for 100 * FastTan
11454 cycles for 100 * fsin
1755 cycles for 100 * FastSin
17719 cycles for 100 * CRT BesselJ0
1702 cycles for 100 * FastBesselJ0
2736 cycles for 100 * Log10 (Guga)
1702 cycles for 100 * FastMath Log10
9490 cycles for 100 * fptan
1692 cycles for 100 * FastTan
11479 cycles for 100 * fsin
1717 cycles for 100 * FastSin
17690 cycles for 100 * CRT BesselJ0
1718 cycles for 100 * FastBesselJ0
2738 cycles for 100 * Log10 (Guga)
1700 cycles for 100 * FastMath Log10
9389 cycles for 100 * fptan
1685 cycles for 100 * FastTan
11528 cycles for 100 * fsin
1753 cycles for 100 * FastSin
17613 cycles for 100 * CRT BesselJ0
1678 cycles for 100 * FastBesselJ0
2872 cycles for 100 * Log10 (Guga)
1713 cycles for 100 * FastMath Log10
9539 cycles for 100 * fptan
1719 cycles for 100 * FastTan
11417 cycles for 100 * fsin
1680 cycles for 100 * FastSin
18221 cycles for 100 * CRT BesselJ0
1680 cycles for 100 * FastBesselJ0
2736 cycles for 100 * Log10 (Guga)
1718 cycles for 100 * FastMath Log10
9320 cycles for 100 * fptan
1702 cycles for 100 * FastTan
11544 cycles for 100 * fsin
1694 cycles for 100 * FastSin
17514 cycles for 100 * CRT BesselJ0
1687 cycles for 100 * FastBesselJ0
Real8 0.6989700043360187465 Log10 (Guga)
Real8 0.6989700043360188575 FastMath Log10
Real8 1.000003619996628679 fptan
Real8 1.000003614159206133 FastTan
Real8 0.4794255386042030054 fsin
Real8 0.4794255386042030054 FastSin
Real8 0.9384698072408128589 CRT BesselJ0
Real8 0.9384698072408128589 FastBesselJ0
--- ok ---