Benchmark Results for <I>mat.sa</I>

Benchmark Results for mat.sa

(For questions about these benchmarks send eMail to Claudio Fleiner)

This matrix multiplikation program uses actually a bogus multiplikation routine, that squares a matrix and stores the result in the same place again. This may result in bad timing data, as strange cache charactiersitics could show through. A better version is now available as benchmark program, with a real multiplikation routine (select MATRIX NEW in the selection form. The reason for this benchmark still beeing here is that it has been used in the past for benchmarking the compiler.

Table of Contents

General Results:

# [#] Compiler Options *Best Run* Size of Executable Compile Time Memory Usage
Inline Move
while!
Once
Args.
Hoist
Invar.
CSE *sec. *% of
std
KB Shorter
in %
sec. % of
std
KB % of
std
1. Standard Compiler with no options 37.60100.0%800.0%7.38100.0%3971.75100.0%
2. [31]1.905.1%6518.7%9.02122.2%6176.77155.5%
3. [30] 1.905.1%6518.7%9.00122.0%6039.55152.1%
4. [23] 2.105.6%6518.8%8.86120.1%6098.26153.5%
5. [22] 2.105.6%6518.8%8.89120.5%6108.77153.8%
6. [27] 6.8018.1%6518.5%9.03122.4%6004.74151.2%
7. [26] 6.8018.1%6518.5%9.03122.4%6004.74151.2%
8. [19] 6.8018.1%6518.6%8.87120.2%6039.55152.1%
9. [18] 6.8018.1%6518.6%8.91120.7%6254.59157.5%
10. [20] 11.0029.3%6519.0%8.10109.8%4956.16124.8%
11. [29] 11.0029.3%6518.9%8.56116.0%6048.15152.3%
12. [21] 11.0029.3%6519.0%8.10109.8%4788.22120.6%
13. [28] 11.0029.3%6518.9%8.55115.9%6045.70152.2%
14. [25] 11.2029.8%6518.7%8.53115.6%6057.98152.5%
15. [17] 11.2029.8%6518.8%8.11109.9%4959.57124.9%
16. [24] 11.2029.8%6518.7%8.17110.7%4956.16124.8%
17. [16] 11.2029.8%6518.8%8.11109.9%4957.53124.8%
18. [13] 13.5035.9%6617.5%7.95107.7%4935.68124.3%
19. [14] 13.5035.9%6617.4%8.07109.3%4980.15125.4%
20. [12] 13.5035.9%6617.5%7.87106.6%4956.16124.8%
21. [06] 13.5035.9%6617.5%7.98108.1%4956.16124.8%
22. [07] 13.6036.2%6617.5%8.02108.7%4974.59125.2%
23. [01] 13.7036.4%6617.4%7.59102.8%5009.41126.1%
24. [10] 13.7036.4%6617.2%8.05109.1%4956.16124.8%
25. [02] 13.7036.4%6617.3%8.02108.7%4957.33124.8%
26. [00] 13.7036.4%6617.4%7.57102.6%5016.58126.3%
27. [11] 13.7036.4%6617.2%8.11109.9%4941.82124.4%
28. [03] 13.7036.4%6617.3%8.02108.7%4949.33124.6%
29. [04] 13.8036.7%6617.5%7.57102.6%5014.32126.2%
30. [05] 13.8036.7%6617.5%7.81105.8%4988.34125.6%
31. [15] 13.8036.7%6617.4%8.08109.5%4972.54125.2%
32. [08] 14.0037.2%6617.3%7.88106.8%4956.16124.8%
33. [09] 14.0037.2%6617.3%7.90107.0%4949.33124.6%

Impact of the option "Inlining":

# [# / #] Compiler Options *Best Run* Size of Executable Compile Time Memory Usage
Inline Move
while!
Once
Args.
Hoist
Invar.
CSE Faster
in sec.
*Faster
in % *
Shorter
in KB
Shorter
in %
Slower
in sec.
Slower
in %
change
in KB
change
in %
1. [15/31]11.9086.23%11.57%0.9411.63%-1204224-24.22%
2. [14/30] 11.6085.93%11.57%0.9311.52%-1059401-21.27%
3. [07/23] 11.5084.56%11.66%0.8410.47%-1123669-22.59%
4. [06/22] 11.4084.44%11.66%0.9111.40%-1152614-23.26%
5. [02/18] 6.9050.36%11.63%0.8911.10%-1297261-26.17%
6. [11/27] 6.9050.36%11.55%0.9211.34%-1062912-21.51%
7. [10/26] 6.9050.36%11.55%0.9812.17%-1048576-21.16%
8. [03/19] 6.9050.36%11.63%0.8510.60%-1090218-22.03%
9. [04/20] 2.8020.29%11.74%0.537.00%581631.16%
10. [05/21] 2.8020.29%11.74%0.293.71%2001184.01%
11. [08/24] 2.8020.00%11.73%0.293.68%00.00%
12. [09/25] 2.8020.00%11.73%0.637.97%-1108650-22.40%
13. [13/29] 2.5018.52%11.72%0.617.67%-1112473-22.54%
14. [12/28] 2.5018.52%11.72%0.688.64%-1089536-21.98%
15. [01/17] 2.5018.25%11.75%0.526.85%498340.99%
16. [00/16] 2.5018.25%11.75%0.547.13%590501.18%

Impact of the option "Moving while! and until!":

# [# / #] Compiler Options *Best Run* Size of Executable Compile Time Memory Usage
Inline Move
while!
Once
Args.
Hoist
Invar.
CSE Faster
in sec.
*Faster
in % *
Shorter
in KB
Shorter
in %
Slower
in sec.
Slower
in %
change
in KB
change
in %
1. [23/31]0.209.52%0-0.16%0.161.81%-78506-1.29%
2. [22/30] 0.209.52%0-0.16%0.111.24%692221.13%
3. [04/12] 0.302.17%0-0.07%0.303.96%581631.16%
4. [05/13] 0.302.17%0-0.07%0.141.79%526621.06%
5. [19/27] 0.000.00%0-0.16%0.161.80%348160.58%
6. [21/29] 0.000.00%0-0.10%0.465.68%-1259929-26.31%
7. [03/11] 0.000.00%0-0.07%0.091.12%75090.15%
8. [17/25] 0.000.00%0-0.10%0.425.18%-1098410-22.15%
9. [06/14] 0.000.00%0-0.07%0.091.13%-23990-0.48%
10. [18/26] 0.000.00%0-0.16%0.121.35%2498563.99%
11. [02/10] 0.000.00%0-0.07%0.030.37%11700.02%
12. [20/28] 0.000.00%0-0.10%0.455.56%-1089536-21.98%
13. [16/24] 0.000.00%0-0.10%0.060.74%13650.03%
14. [07/15] -0.20-1.47%0-0.07%0.060.75%20480.04%
15. [01/09] -0.30-2.19%0-0.07%0.314.08%600741.20%
16. [00/08] -0.30-2.19%0-0.07%0.314.10%604161.20%

Impact of the option "Hoisting Iter Initialization":

# [# / #] Compiler Options *Best Run* Size of Executable Compile Time Memory Usage
Inline Move
while!
Once
Args.
Hoist
Invar.
CSE Faster
in sec.
*Faster
in % *
Shorter
in KB
Shorter
in %
Slower
in sec.
Slower
in %
change
in KB
change
in %
1. [27/31]4.9072.06%00.23%-0.01-0.11%-172032-2.86%
2. [26/30] 4.9072.06%00.23%-0.03-0.33%-34816-0.58%
3. [18/22] 4.7069.12%00.23%-0.02-0.22%1458172.33%
4. [19/23] 4.7069.12%00.23%-0.01-0.11%-58709-0.97%
5. [08/12] 0.503.57%00.20%-0.01-0.13%00.00%
6. [09/13] 0.503.57%00.20%0.050.63%136530.28%
7. [16/20] 0.201.79%00.20%-0.01-0.12%13650.03%
8. [17/21] 0.201.79%00.20%-0.01-0.12%1713493.45%
9. [25/29] 0.201.79%00.20%0.030.35%98300.16%
10. [24/28] 0.201.79%00.20%0.384.65%-1089536-21.98%
11. [02/06] 0.201.46%00.20%-0.04-0.50%11700.02%
12. [10/14] 0.201.46%00.20%0.020.25%-23990-0.48%
13. [03/07] 0.100.73%00.20%0.000.00%-25258-0.51%
14. [01/05] -0.10-0.73%00.20%0.222.90%210650.42%
15. [11/15] -0.10-0.73%00.20%-0.03-0.37%-30720-0.62%
16. [00/04] -0.10-0.73%00.20%0.000.00%22520.04%

Impact of the option "Hoisting Loop Invariants":

# [# / #] Compiler Options *Best Run* Size of Executable Compile Time Memory Usage
Inline Move
while!
Once
Args.
Hoist
Invar.
CSE Faster
in sec.
*Faster
in % *
Shorter
in KB
Shorter
in %
Slower
in sec.
Slower
in %
change
in KB
change
in %
1. [28/30] 9.1082.73%0-0.22%0.455.26%61440.10%
2. [29/31]9.1082.73%0-0.22%0.465.37%-128614-2.13%
3. [20/22] 8.9080.91%0-0.16%0.799.75%-1152614-23.26%
4. [21/23] 8.9080.91%0-0.16%0.769.38%-1310037-27.36%
5. [17/19] 4.4039.29%0-0.20%0.769.37%-1079978-21.78%
6. [25/27] 4.4039.29%0-0.26%0.505.86%532480.88%
7. [24/26] 4.4039.29%0-0.26%0.8610.53%-1048576-21.16%
8. [16/18] 4.4039.29%0-0.20%0.809.86%-1297066-26.16%
9. [04/06] 0.302.17%0-0.07%0.415.42%581631.16%
10. [08/10] 0.302.14%0-0.07%0.172.16%00.00%
11. [09/11] 0.302.14%0-0.07%0.212.66%75090.15%
12. [05/07] 0.201.45%0-0.07%0.212.69%137500.28%
13. [01/03] 0.000.00%0-0.07%0.435.67%600741.20%
14. [12/14] 0.000.00%0-0.07%0.202.54%-23990-0.48%
15. [00/02] 0.000.00%0-0.07%0.455.94%592451.18%
16. [13/15] -0.30-2.22%0-0.07%0.131.64%-36864-0.75%

Impact of the option "Common Subexpression Elimination":

# [# / #] Compiler Options *Best Run* Size of Executable Compile Time Memory Usage
Inline Move
while!
Once
Args.
Hoist
Invar.
CSE Faster
in sec.
*Faster
in % *
Shorter
in KB
Shorter
in %
Slower
in sec.
Slower
in %
change
in KB
change
in %
1. [30/31]0.000.00%00.00%0.020.22%-137216-2.27%
2. [28/29] 0.000.00%00.00%0.010.12%-2457-0.04%
3. [22/23] 0.000.00%00.00%-0.03-0.34%105130.17%
4. [12/13] 0.000.00%00.00%0.081.02%204800.41%
5. [26/27] 0.000.00%00.00%0.000.00%00.00%
6. [10/11] 0.000.00%00.00%0.060.75%143360.29%
7. [18/19] 0.000.00%00.00%-0.04-0.45%2150403.44%
8. [02/03] 0.000.00%00.00%0.000.00%79960.16%
9. [20/21] 0.000.00%00.00%0.000.00%1679363.39%
10. [24/25] 0.000.00%00.00%0.364.41%-1101824-22.23%
11. [08/09] 0.000.00%00.00%0.020.25%68260.14%
12. [04/05] 0.000.00%00.00%0.243.17%259800.52%
13. [00/01] 0.000.00%00.00%0.020.26%71680.14%
14. [16/17] 0.000.00%00.00%0.000.00%-2048-0.04%
15. [06/07] -0.10-0.74%00.00%0.040.50%-18432-0.37%
16. [14/15] -0.30-2.22%00.00%0.010.12%76060.15%