Benchmark Results for <I>heat.sa 1000 1</I>

Benchmark Results for heat.sa 1000 1

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

This program (heat.sa) calculates in a very naive manner how a flat surface heats up when the four corners are heated. For this benchmark we used a square matrix of size 1000 and calculated one step. The heat of a new cell is the mean of the heat of itself and all its 8 neighbors.

Comparsion of Sather and C++:

Programnon optimizedcompiler optimized
Sather12.98.7
C++9.36.7

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 32.80100.0%1850.0%11.18100.0%6282.44100.0%
2. [30] 8.7026.5%10941.2%19.66175.8%9989.56159.0%
3. [31]8.8026.8%10941.2%20.03179.2%9858.25156.9%
4. [23] 8.8026.8%10841.4%19.28172.5%9886.38157.4%
5. [18] 8.8026.8%10941.2%20.01179.0%9843.51156.7%
6. [27] 8.8026.8%10940.9%20.51183.5%10049.13160.0%
7. [26] 8.8026.8%10940.9%20.58184.1%10048.31159.9%
8. [19] 8.8026.8%10941.2%20.02179.1%10051.58160.0%
9. [22] 8.8026.8%10841.4%19.63175.6%10014.72159.4%
10. [29] 9.5029.0%10841.2%17.35155.2%9949.18158.4%
11. [17] 9.5029.0%10841.2%16.66149.0%9927.07158.0%
12. [21] 9.5029.0%10841.5%16.65148.9%10002.43159.2%
13. [20] 9.5029.0%10841.5%16.63148.7%10002.43159.2%
14. [25] 9.5029.0%10941.0%16.97151.8%10045.44159.9%
15. [28] 9.5029.0%10841.2%17.54156.9%10094.18160.7%
16. [24] 9.5029.0%10941.0%16.98151.9%9811.56156.2%
17. [16] 9.6029.3%10841.2%16.58148.3%9691.14154.3%
18. [05] 12.8039.0%10941.0%14.30127.9%7904.54125.8%
19. [15] 12.8039.0%10940.8%15.80141.3%7847.94124.9%
20. [09] 12.8039.0%11040.5%15.19135.9%7787.32124.0%
21. [13] 12.8039.0%10940.8%15.17135.7%7877.43125.4%
22. [06] 12.8039.0%10941.0%15.43138.0%7806.98124.3%
23. [10] 12.8039.0%11040.5%16.22145.1%7802.88124.2%
24. [07] 12.8039.0%10941.0%15.41137.8%7847.94124.9%
25. [02] 12.8039.0%10940.7%15.53138.9%7655.42121.9%
26. [03] 12.8039.0%10940.7%15.63139.8%7802.88124.2%
27. [12] 12.8039.0%10940.8%14.93133.5%7811.07124.3%
28. [14] 12.8039.0%10940.8%15.98142.9%9995.88159.1%
29. [04] 12.8039.0%10941.0%14.26127.5%7663.62122.0%
30. [01] 12.9039.3%10940.8%14.27127.6%7676.72122.2%
31. [08] 12.9039.3%11040.5%14.82132.6%7646.41121.7%
32. [11] 12.9039.3%11040.5%16.00143.1%8405.81133.8%
33. [00] 12.9039.3%10940.8%14.33128.2%7834.48124.7%

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. [14/30] 4.1032.03%00.70%3.6823.03%63190.06%
2. [11/27] 4.1031.78%00.67%4.5128.19%-1643315-19.55%
3. [15/31]4.0031.25%00.70%4.2326.77%-2010316-25.62%
4. [07/23] 4.0031.25%00.75%3.8725.11%-2038442-25.97%
5. [02/18] 4.0031.25%00.72%4.4828.85%-2188083-28.58%
6. [06/22] 4.0031.25%00.75%4.2027.22%-2207744-28.28%
7. [10/26] 4.0031.25%00.67%4.3626.88%-2245427-28.78%
8. [03/19] 4.0031.25%00.72%4.3928.09%-2248704-28.82%
9. [01/17] 3.4026.36%00.75%2.3916.75%-2250342-29.31%
10. [08/24] 3.4026.36%00.73%2.1614.57%-2165145-28.32%
11. [13/29] 3.3025.78%00.76%2.1814.37%-2071756-26.30%
12. [05/21] 3.3025.78%00.78%2.3516.43%-2097896-26.54%
13. [09/25] 3.3025.78%00.73%1.7811.72%-2258124-29.00%
14. [12/28] 3.3025.78%00.76%2.6117.48%-2283110-29.23%
15. [04/20] 3.3025.78%00.78%2.3716.62%-2338816-30.52%
16. [00/16] 3.3025.58%00.75%2.2515.70%-1856658-23.70%

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. [22/30] 0.101.14%0-0.48%0.030.15%251610.25%
2. [16/24] 0.101.04%0-0.46%0.402.41%-120422-1.24%
3. [01/09] 0.100.78%0-0.44%0.926.45%-110592-1.44%
4. [07/15] 0.000.00%0-0.43%0.392.53%00.00%
5. [23/31]0.000.00%0-0.48%0.753.89%281250.28%
6. [19/27] 0.000.00%0-0.48%0.492.45%24570.02%
7. [21/29] 0.000.00%0-0.46%0.704.20%532480.53%
8. [05/13] 0.000.00%0-0.44%0.876.08%271080.34%
9. [17/25] 0.000.00%0-0.46%0.311.86%-118374-1.19%
10. [06/14] 0.000.00%0-0.43%0.553.56%-2188902-28.04%
11. [18/26] 0.000.00%0-0.48%0.572.85%-204800-2.08%
12. [02/10] 0.000.00%0-0.43%0.694.44%-147456-1.93%
13. [20/28] 0.000.00%0-0.46%0.915.47%-91750-0.92%
14. [04/12] 0.000.00%0-0.44%0.674.70%-147456-1.92%
15. [00/08] 0.000.00%0-0.44%0.493.42%1880642.40%
16. [03/11] -0.10-0.78%0-0.43%0.372.37%-602931-7.73%

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. [26/30] 0.101.14%00.48%-0.92-4.47%587480.58%
2. [16/20] 0.101.04%00.43%0.050.30%-311296-3.21%
3. [01/05] 0.100.78%00.40%0.030.21%-227812-2.97%
4. [00/04] 0.100.78%00.40%-0.07-0.49%1708612.18%
5. [08/12] 0.100.78%00.40%0.110.74%-164659-2.15%
6. [11/15] 0.100.78%00.45%-0.20-1.25%5578756.64%
7. [19/23] 0.000.00%00.48%-0.74-3.70%1652051.64%
8. [03/07] 0.000.00%00.45%-0.22-1.41%-45056-0.58%
9. [25/29] 0.000.00%00.43%0.382.24%962560.96%
10. [09/13] 0.000.00%00.40%-0.02-0.13%-90112-1.16%
11. [17/21] 0.000.00%00.43%-0.01-0.06%-75366-0.76%
12. [27/31]0.000.00%00.48%-0.48-2.34%1908731.90%
13. [10/14] 0.000.00%00.45%-0.24-1.48%-2192998-28.10%
14. [18/22] 0.000.00%00.48%-0.38-1.90%-171212-1.74%
15. [02/06] 0.000.00%00.45%-0.10-0.64%-151552-1.98%
16. [24/28] 0.000.00%00.43%0.563.30%-282624-2.88%

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] 0.808.42%0-0.12%2.1212.09%1046231.04%
2. [16/18] 0.808.33%0-0.14%3.4320.69%-152371-1.57%
3. [20/22] 0.707.37%0-0.10%3.0018.04%-12288-0.12%
4. [24/26] 0.707.37%0-0.17%3.6021.20%-236748-2.41%
5. [17/19] 0.707.37%0-0.14%3.3620.17%-124518-1.25%
6. [25/27] 0.707.37%0-0.17%3.5420.86%-3686-0.04%
7. [21/23] 0.707.37%0-0.10%2.6315.80%1160531.16%
8. [29/31]0.707.37%0-0.12%2.6815.45%909310.91%
9. [01/03] 0.100.78%0-0.11%1.369.53%-126156-1.64%
10. [08/10] 0.100.78%0-0.10%1.409.45%-156467-2.05%
11. [00/02] 0.100.78%0-0.11%1.208.37%1790532.29%
12. [05/07] 0.000.00%0-0.06%1.117.76%565990.72%
13. [12/14] 0.000.00%0-0.05%1.057.03%-2184806-27.97%
14. [04/06] 0.000.00%0-0.06%1.178.20%-143360-1.87%
15. [13/15] 0.000.00%0-0.05%0.634.15%294910.37%
16. [09/11] -0.10-0.78%0-0.10%0.815.33%-618495-7.94%

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. [16/17] 0.101.04%00.00%0.080.48%-235929-2.43%
2. [08/09] 0.100.78%00.00%0.372.50%-140902-1.84%
3. [14/15] 0.000.00%00.00%-0.18-1.13%214794221.49%
4. [22/23] 0.000.00%00.00%-0.35-1.78%1283411.28%
5. [06/07] 0.000.00%00.00%-0.02-0.13%-40960-0.52%
6. [26/27] 0.000.00%00.00%-0.07-0.34%-819-0.01%
7. [18/19] 0.000.00%00.00%0.010.05%-208076-2.11%
8. [02/03] 0.000.00%00.00%0.100.64%-147456-1.93%
9. [28/29] 0.000.00%00.00%-0.19-1.08%1449981.44%
10. [12/13] 0.000.00%00.00%0.241.61%-66355-0.85%
11. [20/21] 0.000.00%0-0.00%0.020.12%00.00%
12. [04/05] 0.000.00%00.00%0.040.28%-240919-3.14%
13. [24/25] 0.000.00%00.00%-0.01-0.06%-233881-2.38%
14. [00/01] 0.000.00%00.00%-0.06-0.42%1577542.01%
15. [10/11] -0.10-0.78%00.00%-0.22-1.36%-602931-7.73%
16. [30/31]-0.10-1.15%00.00%0.371.88%1313061.31%