реклама на сайте
подробности

 
 
> Во сколько раз больше будет код если писать на с/с++, а не на ассембелере?, Например для ARM9
I2S
сообщение Oct 22 2006, 16:04
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 22-10-06
Пользователь №: 21 559



Люди! Кто прикидывал во сколько раз больше получается код если писать прогу на сях, а не ассемблере? Мне хотя бы грубо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DASM
сообщение Nov 6 2006, 13:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



mse не слушайте , он все время жжот
Go to the top of the page
 
+Quote Post
msn
сообщение Nov 6 2006, 14:01
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 126
Регистрация: 1-01-06
Из: Украина, Киев
Пользователь №: 12 759



Как писали выше все ОЧЕНЬ сильно зависит от мастерства программиста.
Например, неделю назад писал функцию автокалибровки (C8051F06x, есть 9 каналов по 8 под диапазонов на каждом, калибровка по 12^2 отсчетам) из оболочки передается структура с кол-вом калибруемых поддиапазонов, индексами поддиапазонов и количеством напряжений на поддиапазон, например -5, -2, +2 и +5. За полчаса на Си (Keil uVision 3 котрая оптимизировалась под 8051 ~10 лет) написал ф-н. Все бы хорошо но она занимает 3 К (Flash вполне хватает 64K), но для одной функции (~50 строчек) без делений и умножений (только суммирование и сдвиги) это чересчур. Начал оптимизировать на Си – уменьшилась до 2.3 K, но код стал настолько запутанным что смысл Си как языка верхнего уровня почти пропал. Переписал на ASM ~ 0.7K но уже 300 строчек. Так что получился выигрыш > 4 раз, но времени ушло в раз 6-8 больше. На ARM может лучше компилятор работает, но выигрыш в на 5-10% на asm уж очень мало, либо программа пишется в лоб без всякой оптимизации. На asm программу можно так оптимизировать под конкретное ядро что ни один компилятор не сможет тягаться. Но на мой взгляд на Asm имеет смысл только для узких мест (максимальное быстродействие или если памятью совсем напряг) остальное или хотя каркас на Си.

Сообщение отредактировал msn - Nov 6 2006, 14:25
Go to the top of the page
 
+Quote Post
VslavX
сообщение Nov 6 2006, 16:38
Сообщение #4


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(msn @ Nov 6 2006, 16:01) *
Как писали выше все ОЧЕНЬ сильно зависит от мастерства программиста.
Например, неделю назад писал функцию автокалибровки (C8051F06x, есть 9 каналов по 8 под


Одно дело - асм 51-го:
[метка:] мнемоника
+ [операнд приемник]
+ [операнд источник]

Другое дело - асм ARM:
[метка:] мнемоника
+ [суффикс типа]
+ [условный суффикс]
+ [операнд приемник]
+ [первый операнд источник]
+ [второй операнд источник]
+ [код операции сдвига второго операнда]
+ [аргумент операции сдвига]

Видите сколько возможностей во втором случае? И далеко не всегда самый оптимальный путь сразу очевиден. Даже для опытного человека smile.gif
Go to the top of the page
 
+Quote Post
msn
сообщение Nov 6 2006, 17:42
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 126
Регистрация: 1-01-06
Из: Украина, Киев
Пользователь №: 12 759



Цитата(VslavX @ Nov 6 2006, 18:38) *
Цитата(msn @ Nov 6 2006, 16:01) *

Как писали выше все ОЧЕНЬ сильно зависит от мастерства программиста.
Например, неделю назад писал функцию автокалибровки (C8051F06x, есть 9 каналов по 8 под


Одно дело - асм 51-го:
[метка:] мнемоника
+ [операнд приемник]
+ [операнд источник]

Другое дело - асм ARM:
[метка:] мнемоника
+ [суффикс типа]
+ [условный суффикс]
+ [операнд приемник]
+ [первый операнд источник]
+ [второй операнд источник]
+ [код операции сдвига второго операнда]
+ [аргумент операции сдвига]

Видите сколько возможностей во втором случае? И далеко не всегда самый оптимальный путь сразу очевиден. Даже для опытного человека smile.gif

Мне Asm ARM тоже не очень нравится. Но тут как я понял товарищ не от нечего делать спрашивает, наверное нужда заставляет. Я бы, например для ADSP тоже на Си все писал если бы проги не увеличивались в 4-5 раза! А ASM c его многофункциональными командами, модификаторами тоже не подарок.
Пример привел для 8051, потому что были записаны объемы функций для Си и Asm.

Сообщение отредактировал msn - Nov 6 2006, 17:45
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- I2S   Во сколько раз больше будет код если писать на с/с++, а не на ассембелере?   Oct 22 2006, 16:04
- - makc   Цитата(I2S @ Oct 22 2006, 20:04) Люди...   Oct 22 2006, 17:19
- - SpiritDance   Хехе, начинается... Под аРМ даже прикидывать не хо...   Oct 23 2006, 06:33
- - Alex03   Опять же от проекта зависит. Сколько кода непосред...   Oct 23 2006, 08:39
- - Михаил Горюнов   Цитата(I2S @ Oct 22 2006, 20:04) Люди...   Oct 23 2006, 20:05
- - KA_ru   хотел бы я посмотреть на ассемблерный проект в 100...   Nov 6 2006, 11:00
|- - mse   Цитата(KA_ru @ Nov 6 2006, 14:00) хотел б...   Nov 6 2006, 11:10
||- - Alex03   Цитата(mse @ Nov 6 2006, 16:10) Нискажите...   Nov 7 2006, 04:21
|- - gormih   Цитата(KA_ru @ Nov 6 2006, 14:00) хотел б...   Nov 6 2006, 11:11
|- - VslavX   Цитата(gormih @ Nov 6 2006, 13:11) 1) Ник...   Nov 6 2006, 13:35
|||- - Stanislav   Цитата(VslavX @ Nov 6 2006, 19:38) Одно д...   Nov 7 2006, 11:26
|||- - msn   ЦитатаПростите, а какой ADSP и какой конкретно С к...   Nov 7 2006, 14:57
|||- - Stanislav   Цитата(msn @ Nov 7 2006, 17:57) ADSP2189M...   Nov 7 2006, 17:08
||- - KA_ru   Цитата(msn @ Nov 6 2006, 18:01) но времен...   Nov 7 2006, 10:23
||- - msn   Цитата(KA_ru @ Nov 7 2006, 12:23) Цитата(...   Nov 7 2006, 23:58
|- - Edmundo   Цитата(DASM @ Nov 6 2006, 16:17) mse не с...   Nov 6 2006, 14:48
|- - mse   Цитата(DASM @ Nov 6 2006, 16:17) mse не с...   Nov 7 2006, 06:37
- - aaarrr   Цитата(msn @ Nov 8 2006, 02:58) P.S. Где ...   Nov 8 2006, 14:53
- - KA_ru   у нас вон проблема с С++ на С перейти. программист...   Nov 8 2006, 17:27
- - IgorKossak   Цитата(KA_ru @ Nov 8 2006, 19:27) у нас в...   Nov 9 2006, 07:39
- - KA_ru   Цитата(KA_ru @ Nov 8 2006, 21:27) у нас в...   Nov 9 2006, 11:18


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 17:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01442 секунд с 7
ELECTRONIX ©2004-2016