[Tinyos Core WG] gcc 3 vs 4 shootout

John Regehr regehr at cs.utah.edu
Wed Nov 7 21:53:14 PST 2007


Folks-

Please see the attached results for gcc3 vs gcc4 for a few TinyOS 2.0.2 
apps on mica2.  The news seems mainly good.  The measured stack depths are 
probably not very informative since these tend to be timing dependent.

John
-------------- next part --------------
(1) 
gcc3: avr-gcc3.4.3, GNU Binutils 2.15, avr-libc-1.2.3
gcc4: avr-gcc4.1.2, GNU Binutils 2.17, avr-libc-1.4.6

(2) Compilation options: 

gcc3: -mmcu=atmega128 -Os -fdollars-in-identifiers -Winline --param inline-unit-growth=1000000 --param large-function-growth=1000000 -D_GNUCC

gcc4: -mmcu=atmega128 -Os -Wall -Wshadow -v --param max-inline-insns-single=100000 

(3) Test Results:
***********************************************************************
AntiTheft/Nodes:
                     gcc3          gcc4         %(gcc4-gcc3)/gcc3
-----------------------------------------------------------------------
file_size            46449         42636        -8.209%
-----------------------------------------------------------------------
avr-size-text        24114         22144        -8.170%
-----------------------------------------------------------------------
avr-size-data        18            18           0% 
-----------------------------------------------------------------------
cpu duty             3.90445       3.54735      -9.146%
-----------------------------------------------------------------------
dynamic stack        196           185          -5.612%


***********************************************************************
BaseStation:
                     gcc3          gcc4         %(gcc4-gcc3)/gcc3
-----------------------------------------------------------------------
file_size            26876         26955        0.294%
-----------------------------------------------------------------------
avr-size-text        12852         12292        -4.357%
-----------------------------------------------------------------------
avr-size-data        18            18           0% 
-----------------------------------------------------------------------
cpu duty             8.3891        6.6564       -20.654%
-----------------------------------------------------------------------
dynamic stack        63            77           22.222%


***********************************************************************
Blink:
                     gcc3          gcc4         %(gcc4-gcc3)/gcc3
-----------------------------------------------------------------------
file_size            7472          7345         -1.700%
-----------------------------------------------------------------------
avr-size-text        2364          2230         -5.668%
-----------------------------------------------------------------------
avr-size-data        0             0            0% 
-----------------------------------------------------------------------
cpu duty             0.4592        0.4495       -2.112%
-----------------------------------------------------------------------
dynamic stack        28            27           -3.571%


***********************************************************************
MultihopOscilloscope:
                     gcc3          gcc4         %(gcc4-gcc3)/gcc3
-----------------------------------------------------------------------
file_size            46157         42621        -7.661%
-----------------------------------------------------------------------
avr-size-text        24620         22094        -10.260%
-----------------------------------------------------------------------
avr-size-data        22            22           0% 
-----------------------------------------------------------------------
cpu duty             8.947875      7.611875     -14.931%
-----------------------------------------------------------------------
dynamic stack        175           163          -6.857%


***********************************************************************
MViz:
                     gcc3          gcc4         %(gcc4-gcc3)/gcc3
-----------------------------------------------------------------------
file_size            50142         50490        0.694%
-----------------------------------------------------------------------
avr-size-text        22100         21020        -4.887%
-----------------------------------------------------------------------
avr-size-data        22            22           0% 
-----------------------------------------------------------------------
cpu duty             9.05445       7.044725     -22.196%
-----------------------------------------------------------------------
dynamic stack        176           171          -2.841%


***********************************************************************
Oscilloscope:
                     gcc3          gcc4         %(gcc4-gcc3)/gcc3
-----------------------------------------------------------------------
file_size            22106         22306        0.905%
-----------------------------------------------------------------------
avr-size-text        10454         9958         -4.745%
-----------------------------------------------------------------------
avr-size-data        12            12           0% 
-----------------------------------------------------------------------
cpu duty             8.5191        6.7714       -20.515%
-----------------------------------------------------------------------
dynamic stack        149           144          -3.356%


***********************************************************************
Powerup:
                     gcc3          gcc4         %(gcc4-gcc3)/gcc3
-----------------------------------------------------------------------
file_size            5262          5006         -4.865%
-----------------------------------------------------------------------
avr-size-text        840           800          -4.762%
-----------------------------------------------------------------------
avr-size-data        0             0            0% 
-----------------------------------------------------------------------
cpu duty             0.362         0.362        0%
-----------------------------------------------------------------------
dynamic stack        2             3            50.000%


***********************************************************************
RadioCountToLeds:
                     gcc3          gcc4         %(gcc4-gcc3)/gcc3
-----------------------------------------------------------------------
file_size            21248         21393        0.682%
-----------------------------------------------------------------------
avr-size-text        9872          9372         -5.065%
-----------------------------------------------------------------------
avr-size-data        12            12           0% 
-----------------------------------------------------------------------
cpu duty             9.337475      7.462725     -20.078%
-----------------------------------------------------------------------
dynamic stack        150           145          -3.333%


***********************************************************************
RadioSenseToLeds:
                     gcc3          gcc4         %(gcc4-gcc3)/gcc3
-----------------------------------------------------------------------
file_size            21476         21676        0.931%
-----------------------------------------------------------------------
avr-size-text        10104         9608         -4.909%
-----------------------------------------------------------------------
avr-size-data        12            12           0% 
-----------------------------------------------------------------------
cpu duty             9.30495       7.43225      -20.126%
-----------------------------------------------------------------------
dynamic stack        133           134          0.752%


***********************************************************************
Sense:
                     gcc3          gcc4         %(gcc4-gcc3)/gcc3
-----------------------------------------------------------------------
file_size            8724          8709         -0.171%
-----------------------------------------------------------------------
avr-size-text        3140          3026         -3.631%
-----------------------------------------------------------------------
avr-size-data        2             2            0% 
-----------------------------------------------------------------------
cpu duty             0.601         0.5795       -3.577%
-----------------------------------------------------------------------
dynamic stack        25            27           8.000%




More information about the Tinyos-2.0wg mailing list