/* Auto-generated file.  DO NOT EDIT, OR YOUR CHANGES WILL BE LOST!
   This file has been auto-generated by:
   $ CC=avr-gcc-15 ./gen-cbench.sh funcs.txt
*/

/** \page benchmarks

\section bench_libc A few of libc Functions

avr-gcc version is 15.2.1

The size of a function is given in view of all picked up functions. By default
AVR-LibC is compiled with \c -mcall-prologues. In parenthesis the size
without taking into account the code for the prologue and epilogue routines
is shown. Both sizes can coincide when no prologue and epilogue routines
are present, and then only one code size is shown.

- \c #qsort sorts an array of \c char with 100 elements.
- The used size of \c double is 4, which plays a role in the float type
  promotions of arguments of varargs functions like \c #sprintf.
- For an overview of the different AVR architectures,
  see <a href="https://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html"
    >avr-gcc: Command Line Options</a>.
<small>
<table>
  <tr><th>Function <th>Units
    <th>avr2
    <th>avr25
    <th>avr4
    <th>avr6
  <tr><td><tt>#atoi ("12345")</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">82<br>4<br>155
    <td align="right">78<br>4<br>149
    <td align="right">74<br>4<br>149
    <td align="right">76<br>6<br>167
  <tr><td><tt>#atol ("12345")</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">126<br>5<br>221
    <td align="right">118<br>5<br>209
    <td align="right">106<br>4<br>205
    <td align="right">110<br>6<br>223
  <tr><td><tt>#ftostre (1.2345f, s, 6, 0)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">1128 (1016)<br>20<br>1339
    <td align="right">1058 (948)<br>20<br>1178
    <td align="right">1058 (948)<br>20<br>1178
    <td align="right">1078 (968)<br>22<br>1191
  <tr><td><tt>#ftostrf (1.2345f, 15, 6, s)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">1648 (1536)<br>40<br>1645
    <td align="right">1524 (1414)<br>40<br>1469
    <td align="right">1524 (1414)<br>40<br>1469
    <td align="right">1548 (1438)<br>43<br>1486
  <tr><td><tt>#ktoa (123.45k, s, 2)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">316<br>8<br>479
    <td align="right">306<br>8<br>466
    <td align="right">298<br>8<br>466
    <td align="right">306<br>10<br>488
  <tr><td><tt>#itoa (12345, s, 10)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">110<br>2<br>879
    <td align="right">102<br>2<br>875
    <td align="right">102<br>2<br>875
    <td align="right">106<br>3<br>880
  <tr><td><tt>#ltoa (12345678L, s, 10)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">138<br>2<br>2766
    <td align="right">130<br>2<br>2762
    <td align="right">130<br>2<br>2762
    <td align="right">136<br>3<br>2767
  <tr><td><tt>#lltoa (12345678LL, s, 10)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">206<br>3<br>2239
    <td align="right">194<br>3<br>2209
    <td align="right">194<br>3<br>2209
    <td align="right">202<br>4<br>2214
  <tr><td><tt>#ulltoa_base10 (12345678ULL, s)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">182<br>11<br>1908
    <td align="right">172<br>11<br>1852
    <td align="right">168<br>11<br>1458
    <td align="right">168<br>12<br>1461
  <tr><td><tt>#malloc (1)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">668<br>6<br>101
    <td align="right">606<br>6<br>97
    <td align="right">606<br>6<br>97
    <td align="right">610<br>7<br>100
  <tr><td><tt>#realloc ((void*) 0, 1)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">1242 (1130)<br>6<br>101
    <td align="right">1114 (1004)<br>6<br>97
    <td align="right">1114 (1004)<br>6<br>97
    <td align="right">1096<br>7<br>100
  <tr><td><tt>#qsort (s, sizeof(s), 1, cmp)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">1130 (1018)<br>146<br>54683
    <td align="right">952 (842)<br>146<br>50635
    <td align="right">938 (828)<br>146<br>45705
    <td align="right">984 (874)<br>153<br>47930
  <tr><td><tt>#rand ()</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">132<br>2<br>95
    <td align="right">120<br>2<br>90
    <td align="right">120<br>2<br>90
    <td align="right">124<br>3<br>93
  <tr><td><tt>#random ()</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">678 (566)<br>16<br>1410
    <td align="right">634 (524)<br>16<br>1394
    <td align="right">630 (520)<br>18<br>805
    <td align="right">584<br>22<br>820
  <tr><td><tt>sprintf_min (s, "%d", 12345)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">1218 (1106)<br>59<br>2077
    <td align="right">1086 (976)<br>59<br>1940
    <td align="right">1082 (972)<br>59<br>1935
    <td align="right">1102<br>62<br>1887
  <tr><td><tt>#sprintf (s, "%d", 12345)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">1636 (1524)<br>59<br>1885
    <td align="right">1494 (1384)<br>59<br>1795
    <td align="right">1478 (1368)<br>61<br>1796
    <td align="right">1514<br>64<br>1734
  <tr><td><tt>sprintf_flt (s, "%e", 1.2345)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">3250 (3138)<br>68<br>3089
    <td align="right">3000 (2890)<br>68<br>2866
    <td align="right">2976 (2866)<br>69<br>2873
    <td align="right">3088 (2978)<br>72<br>2695
  <tr><td><tt>sscanf_min ("12345", "%d", &i)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">2804 (2692)<br>57<br>1380
    <td align="right">2502 (2392)<br>57<br>1294
    <td align="right">2498 (2388)<br>57<br>1294
    <td align="right">2728<br>61<br>1311
  <tr><td><tt>#sscanf ("12345", "%d", &i)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">1798 (1686)<br>57<br>1380
    <td align="right">1614 (1504)<br>57<br>1294
    <td align="right">1614 (1504)<br>57<br>1294
    <td align="right">1716<br>61<br>1311
  <tr><td><tt>#sscanf ("point,color", "%[a-z]", s)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">1798 (1686)<br>90<br>2748
    <td align="right">1614 (1504)<br>90<br>2601
    <td align="right">1614 (1504)<br>90<br>2601
    <td align="right">1716<br>94<br>2502
  <tr><td><tt>sscanf_flt ("1.2345", "%e", &x)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">4866 (4754)<br>40<br>410
    <td align="right">4438 (4328)<br>40<br>364
    <td align="right">4414 (4304)<br>40<br>364
    <td align="right">4714 (4604)<br>43<br>341
  <tr><td><tt>#strtof ("1.2345", &end)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">1648 (1536)<br>24<br>1289
    <td align="right">1490 (1380)<br>24<br>1172
    <td align="right">1462 (1352)<br>24<br>969
    <td align="right">1698 (1588)<br>37<br>1282
  <tr><td><tt>#strtol ("12345", &end, 0)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">390<br>14<br>606
    <td align="right">368<br>14<br>583
    <td align="right">350<br>12<br>351
    <td align="right">364<br>15<br>373
  <tr><td><tt>#strtoll ("12345", &end, 0)</tt> <td>Flash bytes<br>Stack bytes<br>Cycles
    <td align="right">578 (466)<br>20<br>832
    <td align="right">540 (430)<br>20<br>785
    <td align="right">516 (406)<br>18<br>488
    <td align="right">540 (430)<br>21<br>513
</table>
</small>
*/
