[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[avr-gcc-list] Avr-gcc versions comparison
From: |
Dmitry K. |
Subject: |
[avr-gcc-list] Avr-gcc versions comparison |
Date: |
Thu, 5 Jul 2007 08:36:29 +1100 |
User-agent: |
KMail/1.5 |
Hi.
Below is the results of compiling recent CVS main
branch of Avr-libc with a set of avr-gcc versions.
AVR: at90s8515 atmega8
avr-gcc vers: 3.3.6 3.4.6 4.0.4 4.1.2 4.2.0 3.3.6 3.4.6 4.0.4 4.1.2 4.2.0
------------------------------------------------------------------------------
bsearch("z",s,sizeof(s),1,cmp)
Flash: 276 274 270 270 270 218 216 212 212 212
Stack: 16 16 16 16 16 16 16 16 16 16
Time: 529 536 533 533 533 330 337 334 334 334
------------------------------------------------------------------------------
dtostre(1.2345,s,6,0)
Flash: 1026 1026 1122 1214 1204 956 956 1040 1114 1108
Stack: 15 15 15 17 17 15 15 15 17 17
Time: 1200 1200 1290 1316 1316 1061 1061 1124 1156 1156
------------------------------------------------------------------------------
dtostrf(1.2345,15,6,s)
Flash: 1670 1692 1700 1672 1680 1516 1532 1572 1548 1552
Stack: 35 38 38 38 36 35 38 38 38 36
Time: 1673 1624 1670 1610 1611 1483 1440 1496 1447 1446
------------------------------------------------------------------------------
free(p)
Flash: 544 552 548 548 560 490 498 504 504 512
Stack: 4 4 4 4 4 4 4 4 4 4
Time: 225 232 232 232 234 204 211 214 214 215
------------------------------------------------------------------------------
malloc(1)
Flash: 544 552 548 548 560 490 498 504 504 512
Stack: 2 4 4 4 4 2 4 4 4 4
Time: 189 196 198 198 200 170 177 181 181 182
------------------------------------------------------------------------------
qsort(s,sizeof(s),1,cmp)
Flash: 1318 1306 1224 1226 1246 1090 1082 998 1000 1012
Stack: 36 36 36 36 38 36 36 36 36 38
Time: 21918 21899 20185 20477 20917 16979 16967 16005 16297 16681
------------------------------------------------------------------------------
rand()
Flash: 552 552 502 496 512 512 512 482 484 488
Stack: 18 18 18 18 18 18 18 18 18 18
Time: 1508 1508 1487 1487 1491 1500 1500 1485 1485 1487
------------------------------------------------------------------------------
realloc((void*)0,1)
Flash: 1166 1174 1160 1134 1160 1040 1050 1048 1036 1050
Stack: 18 20 20 18 20 18 20 20 18 20
Time: 296 303 305 297 307 272 279 283 275 284
------------------------------------------------------------------------------
sprintf(s,"%d",12345)
Flash: 1724 1700 1708 1646 1678 1538 1518 1528 1466 1502
Stack: 54 54 57 57 58 54 54 57 57 58
Time: 1636 1630 1642 1621 1613 1548 1546 1558 1539 1531
------------------------------------------------------------------------------
sprintf_flt(s,"%e",1.2345)
Flash: 3426 3376 3304 3266 3338 3134 3092 3010 2972 3044
Stack: 61 61 63 64 66 61 61 63 64 66
Time: 2506 2499 2503 2485 2516 2284 2280 2285 2266 2300
------------------------------------------------------------------------------
sprintf_min(s,"%d",12345)
Flash: 1310 1276 1296 1214 1220 1162 1142 1164 1086 1090
Stack: 55 55 54 53 59 55 55 54 53 59
Time: 1850 1844 1808 1814 1849 1709 1706 1676 1681 1714
------------------------------------------------------------------------------
sscanf("12345","%d",&i)
Flash: 1826 1818 1942 1908 1888 1658 1650 1734 1708 1700
Stack: 51 51 55 55 62 51 51 55 55 62
Time: 1818 1839 1817 1797 1854 1516 1537 1535 1520 1565
------------------------------------------------------------------------------
sscanf_flt("1.2345","%e",&x)
Flash: 4168 4128 4224 4148 4254 3836 3796 3842 3806 3890
Stack: 124 124 126 128 140 124 124 126 128 140
Time: 3056 3055 3053 3073 3134 2691 2691 2692 2713 2759
------------------------------------------------------------------------------
sscanf_min("12345","%d",&i)
Flash: 1502 1500 1520 1518 1532 1368 1368 1384 1386 1394
Stack: 50 50 54 54 60 50 50 54 54 60
Time: 1784 1775 1743 1741 1746 1474 1470 1462 1460 1459
------------------------------------------------------------------------------
strtod("1.2345",&p)
Flash: 1564 1550 1682 1642 1642 1472 1460 1556 1532 1518
Stack: 20 20 20 22 22 20 20 20 22 22
Time: 1254 1252 1276 1278 1276 1000 999 1023 1027 1015
------------------------------------------------------------------------------
strtol("12345",&p,0)
Flash: 828 862 900 910 960 782 792 762 824 826
Stack: 20 20 20 21 29 20 20 21 21 21
Time: 989 1013 966 991 1084 726 724 681 721 732
------------------------------------------------------------------------------
strtoul("12345",&p,0)
Flash: 794 796 886 856 850 748 746 842 816 800
Stack: 20 20 25 25 29 20 20 25 25 25
Time: 977 977 1025 1009 1033 714 705 772 758 758
This is not a pure data: numbers summarize all modules,
which are needed to support a function (for example,
flash sizes of free() and malloc() are equal, as both
are placed in a one module). Time to prepare an args list
is not included.
Dmitry.
P.S. To build the CVS avr-libc it is needed to add 'common.h' file manualy.
- [avr-gcc-list] Avr-gcc versions comparison,
Dmitry K. <=