[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