Домашняя страница библиотеки_c AVR

Синтаксис языка C

Библиотека языка C GNU glibc

 Страницы развития библиотеки_с AVR

Главная страница

Инструкция пользователя

Содержание библиотеки_c

Часто задаваемые вопросы

Содержание по алфавиту

Демонстрационные проекты


Эталонные тесты

The results below can only give a rough estimate of the resources necessary for using certain library functions. There is a number of factors which can both increase or reduce the effort required:

Некоторые из функций libc.

Avr-gcc version is 4.2.2

Функция

Units

Avr2

Avr25

Avr4

atoi ("12345")

Flash bytes
Stack bytes
MCU clocks

82
2
155

78

74
2
149

atol ("12345")

Flash bytes
Stack bytes
MCU clocks

122
2
221

118

118
2
219

dtostre (1.2345, s, 6, 0)

Flash bytes
Stack bytes
MCU clocks

1184
17
1313

1088

1088
17
1152

dtostrf (1.2345, 15, 6, s)

Flash bytes
Stack bytes
MCU clocks

1676
36
1608

1548

1548
36
1443

itoa (12345, s, 10)

Flash bytes
Stack bytes
MCU clocks

150
4
1172

134

134
4
1152

ltoa (12345L, s, 10)

Flash bytes
Stack bytes
MCU clocks

220
9
3174

200

200
9
3136

malloc (1)

Flash bytes
Stack bytes
MCU clocks

556
4
197

508

508
4
179

realloc ((void *)0, 1)

Flash bytes
Stack bytes
MCU clocks

1156
20
304

1046

1046
20
281

qsort (s, sizeof(s), 1, cmp)

Flash bytes
Stack bytes
MCU clocks

1242
38
20914

990

1008
38
16678

sprintf_min (s, "%d", 12345)

Flash bytes
Stack bytes
MCU clocks

1216
59
1846

1090

1086
59
1711

sprintf (s, "%d", 12345)

Flash bytes
Stack bytes
MCU clocks

1674
58
1610

1542

1498
58
1528

sprintf_flt (s, "%e", 1.2345)

Flash bytes
Stack bytes
MCU clocks

3334
66
2513

3084

3040
66
2297

sscanf_min ("12345", "%d", &i)

Flash bytes
Stack bytes
MCU clocks

1528
60
1743

1378

1390
60
1456

sscanf ("12345", "%d", &i)

Flash bytes
Stack bytes
MCU clocks

1880
62
1849

1724

1694
62
1561

sscanf_flt ("1.2345", "%e", &x)

Flash bytes
Stack bytes
MCU clocks

4250
140
3131

3916

3886
140
2756

strtod ("1.2345", &p)

Flash bytes
Stack bytes
MCU clocks

1638
22
1273

1550

1514
22
1012

strtol ("12345", &p, 0)

Flash bytes
Stack bytes
MCU clocks

956
29
1081

888

822
21
729

Математические функции.

The table contains the number of MCU clocks to calculate a function with a given argument(s). The main reason of a big difference between Avr2 and Avr4 is a hardware multiplication.

Function

Avr2

Avr4

__addsf3 (1.234, 5.678)

113

108

__mulsf3 (1.234, 5.678)

375

138

__divsf3 (1.234, 5.678)

466

465

acos (0.54321)

4648

2689

asin (0.54321)

4754

2790

atan (0.54321)

4710

2271

atan2 (1.234, 5.678)

5270

2857

ceil (1.2345)

177

177

cos (1.2345)

3381

1665

cosh (1.2345)

4922

2979

exp (1.2345)

4708

2765

fdim (5.678, 1.234)

111

111

floor (1.2345)

180

180

fmax (1.234, 5.678)

39

37

fmin (1.234, 5.678)

35

35

fmod (5.678, 1.234)

132

132

frexp (1.2345, 0)

37

36

hypot (1.234, 5.678)

1556

1078

ldexp (1.2345, 6)

42

42

log (1.2345)

4142

2134

log10 (1.2345)

4498

2260

modf (1.2345, 0)

433

429

pow (1.234, 5.678)

9293

5047

round (1.2345)

150

150

sin (1.2345)

3347

1647

sinh (1.2345)

4946

3003

sqrt (1.2345)

709

704

tan (1.2345)

4375

2420

tanh (1.2345)

5126

3173

trunc (1.2345)

178

178


Automatically generated by Doxygen 1.5.2 on 21 Dec 2007.

Hosted by uCoz