|
Много мелких функций или одна большая? |
|
|
|
 |
Ответов
|
Feb 14 2011, 20:22
|
Участник

Группа: Участник
Сообщений: 58
Регистрация: 16-02-09
Пользователь №: 44 931

|
честно говоря не собирался никого мучить, даже тема была другая просто возникший в процессе вопрос нов и непонятен - и как показало общественное мнение результат негарантирован. имхо: Результат в моем случае проверить сложно т.к. размер кода - будет один и тотже -функции используются по разу а скорость отклика - уарта мне точно померять пока не представляется возможным - точность +/- 1 ms уже не устроит а вот результат по разбиению исполнения массива данных - был виден и дал выигрыш как раз ~1ms - спасибо за наводку Всем спасибо дальше как говориться куда кривая выведет
|
|
|
|
|
Feb 17 2011, 14:44
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(GYUR22 @ Feb 14 2011, 22:22)  имхо: Результат в моем случае проверить сложно т.к. размер кода - будет один и тотже -функции используются по разу а скорость отклика - уарта мне точно померять пока не представляется возможным - точность +/- 1 ms уже не устроит Ну так забейте на inline если оно настолько некритично для вашего проекта. Кстати inline'нинье функций далеко не гарантия наиболее высокой скорости исполнения. Например, в процессорах с кеш памятью команд - бездумное инлайнинье там и сям приведет только к замедлению за счет раздувания кода при константном объеме кеш памяти. Цитата(demiurg_spb @ Feb 15 2011, 19:43)  Если разить вашу теорию, то и данные предназначенные для помещения в секции EEPROM (это при помощи атрибутов в gcc происходит) ИНОГДА могут оказаться в другой секции. Это абсурд! обилие прагм и атрибутов в проекте - это говнокод, а не абсурд, и - кстати таки да данные могут оказаться совсем не в той секции где ожидаешь, при переносе такого проекта на другой проц.
|
|
|
|
|
Feb 17 2011, 19:18
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(defunct @ Feb 17 2011, 17:44)  Ну так забейте на inline если оно настолько некритично для вашего проекта. Кстати inline'нинье функций далеко не гарантия наиболее высокой скорости исполнения. Например, в процессорах с кеш памятью команд - бездумное инлайнинье там и сям приведет только к замедлению за счет раздувания кода при константном объеме кеш памяти. обилие прагм и атрибутов в проекте - это говнокод, а не абсурд, Идеологически согласен. Кстати, Вы видели в моём примере много прагм и атрибутов? Человек спросил как это сделать - я дал однозначный рецепт. Потом сюда приплели даже микрософтовский компилятор и кеш инструкций, хотя тема находится в подфоруме микроконтроллеры/AVRи вопрос касался avr-gcc... Цитата и - кстати таки да данные могут оказаться совсем не в той секции где ожидаешь, при переносе такого проекта на другой проц. Какие Ваши предложения на сей счёт? Отказаться от использования PROGMEM, EEMEM, ISR и вообще не включать компьютер? Атрибуты в gcc - это почти что основополагающий механизм в случае кросс-компиляции для avr. Если Вы внимательно читали мои посты, то могли бы подметить, что я рекомендовал оставить лишь квалификатор static, ибо это и необходимо и достаточно для локальных функций.
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
Сообщений в этой теме
GYUR22 Много мелких функций или одна большая? Feb 11 2011, 12:39 Сергей Борщ Если мелкие сделать принудительно встраиваемыми - ... Feb 11 2011, 12:46 MrYuran Цитата(Сергей Борщ @ Feb 11 2011, 15:46) ... Feb 11 2011, 12:56 demiurg_spb Цитата(Сергей Борщ @ Feb 11 2011, 15:46) ... Feb 12 2011, 07:53 GYUR22 Эээ про Idle можно поподробнее?
ps эта функция ис... Feb 11 2011, 13:20 MrYuran Цитата(GYUR22 @ Feb 11 2011, 16:20) Эээ п... Feb 11 2011, 13:46 GYUR22 богатая идея...
надо обмуслить...
тока общаяя схем... Feb 11 2011, 13:52 MrYuran Цитата(GYUR22 @ Feb 11 2011, 16:52) тока ... Feb 11 2011, 14:19  _Pasha Цитата(MrYuran @ Feb 11 2011, 17:19) Вот ... Feb 11 2011, 15:51   MrYuran Цитата(_Pasha @ Feb 11 2011, 18:51) И гд... Feb 14 2011, 11:36 GYUR22 размер кода пока не пугает ...
оперативки уже мало... Feb 12 2011, 09:40 _Pasha Цитата(GYUR22 @ Feb 12 2011, 13:40) но ес... Feb 12 2011, 10:15 demiurg_spb Цитата(GYUR22 @ Feb 12 2011, 12:40) разме... Feb 12 2011, 14:03 GYUR22 static inline - не компилируется... пишет что лин... Feb 14 2011, 11:16 alexeyv Цитатаstatic inline - не компилируется...
1. stat... Feb 14 2011, 11:25 GYUR22 еще раз для тупого...
чем лучше static inline
по с... Feb 14 2011, 12:28 MrYuran Цитата(GYUR22 @ Feb 14 2011, 15:28) чем л... Feb 14 2011, 12:51 GYUR22 меня интересует встроится ли код или нет если оста... Feb 14 2011, 13:56 demiurg_spb Цитата(GYUR22 @ Feb 14 2011, 16:56) меня ... Feb 14 2011, 15:47  sergeeff Цитата(demiurg_spb @ Feb 14 2011, 18:47) ... Feb 14 2011, 17:19   demiurg_spb Цитата(sergeeff @ Feb 14 2011, 20:19) В о... Feb 15 2011, 17:43    sergeeff Цитата(demiurg_spb @ Feb 15 2011, 20:43) ... Feb 15 2011, 18:26     Petka Цитата(sergeeff @ Feb 15 2011, 21:26) Пос... Feb 15 2011, 18:48      sergeeff Цитата(Petka @ Feb 15 2011, 21:48) У микр... Feb 15 2011, 20:27 _Pasha Цитата(MrYuran @ Feb 14 2011, 15:51) Есть... Feb 14 2011, 14:09 GYUR22 C++, C99, and GNU C each have support for inline f... Feb 14 2011, 17:27 _Pasha Цитата(GYUR22 @ Feb 14 2011, 21:27) выдер... Feb 14 2011, 20:02 sergeeff Цитата(GYUR22 @ Feb 14 2011, 23:22) Всем ... Feb 14 2011, 20:54   sergeeff Цитата(demiurg_spb @ Feb 17 2011, 22:18) ... Feb 17 2011, 20:31    demiurg_spb Повторюсь, я говорю о avr-gcc и о контроллерах в к... Feb 18 2011, 09:21     sergeeff Цитата(demiurg_spb @ Feb 18 2011, 12:21) ... Feb 18 2011, 13:29      demiurg_spb В gcc, да и думаю во всех современных компиляторах... Feb 18 2011, 20:10 alexeyv Цитатачем лучше static inline
по сравнению с прост... Feb 15 2011, 04:56 dxp Само указание ключевого слова inline в декларации ... Feb 16 2011, 06:42 _Pasha Что характерно - чем вопрос элементарнее, тем диск... Feb 16 2011, 06:54 dxp Цитата(_Pasha @ Feb 16 2011, 12:54) Что х... Feb 16 2011, 08:55 sergeeff Про все современные компиляторы, как выше упоминал... Feb 18 2011, 22:50 _Pasha Цитата(sergeeff @ Feb 19 2011, 02:50) хор... Feb 19 2011, 05:01 demiurg_spb Цитата(sergeeff @ Feb 19 2011, 01:50) А р... Feb 19 2011, 09:02  sergeeff Цитата(demiurg_spb @ Feb 19 2011, 12:02) ... Feb 19 2011, 10:11   _Pasha Цитата(sergeeff @ Feb 19 2011, 14:11) Он,... Feb 19 2011, 13:33 andron86 Цитата(GYUR22 @ Feb 11 2011, 13:39) Есть ... Feb 19 2011, 06:09
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|