Эффективность микробейсика - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: terrarus 
Форум Picbasic.ru » Программирование МК » Mikrobasic » Эффективность микробейсика (Оценка размера кода)
Эффективность микробейсика
Andree Дата: Вс, 11.05.2014, 19:57  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 2
Репутация: 0   ±
Замечания:   ±
На сайте с 25.11.2008

Статус: Offline

Здравствуйте, выскажите свои мнения относительно эффективности реализации алгоритмов на микробейсике по размеру получаемого кода в сравнении с кодом, получаемым на ассемблерном либо на си компиляторе для схожих алгоритмов,

микробейсик имеет достоинства, но по субъективной оценке получается в полтора-два раза приращение размера выходного кода по сравнению с возможной ассемблерной реализацией,
какие видите пути либо приемы для сокращения выходного кода микробейсика для пиков либо других контроллеров,

например, я немного пробовал
и применял следующее
- с помощью ассемблерных вставок оперировал с битами портов,
- заменял многократное обращение к элементам массивов в длинных выражениях промежуточными переменными,
- битовые операции с переменными по возможности реализовывал байтовыми
ЯНДЕКС Дата: 11.05.2014
ADMIN Дата: Пн, 12.05.2014, 04:12  |                                                                                                                Сообщение # 2
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Ну, собственно, так и есть. Если ресурсов контроллера хватает, то чего программную память жалеть. Басик имеет преимущество в скорости разработки перед ассемблером, а по скорости и оптимальности использования ресурсов он тут конечно рядом не стоит. Вот так любители басика платят за скорость. Если знаком с асмом, то почему бы не использовать его в критичных местах? И я так делаю иногда, если места для программы не хватает. Мы же, в основном любители и нам особо не важно, на сколько копеек дешевле контроллер с меньшим объемом памяти, так как нам просто интересно решать задачу и видеть готовое работающее устройство. Ну, а для сокращения кода используйте асм. Ниже него уже ничего нет. Есть еще и MicroC, между прочим.
Кстати, были проведены кое-какие тесты по разным компиляторам высокого уровня для пиков. Результаты - здесь.
Andriy76 Дата: Пн, 12.05.2014, 22:41  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 239
Репутация: 10   ±
Замечания:   ±
На сайте с 06.04.2010

Статус: Offline

Размером и скоростью платят все языки высокого уровня . Где то прочитал что лучше иметь пару разработок в год , чем одна - но написанная на асме . Особенно критично если этим зарабатываеш на жизнь .
AndrF Дата: Ср, 24.12.2014, 13:26  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 148
Репутация: 3   ±
Замечания:   ±
На сайте с 03.02.2012

Статус: Offline

По опыту работы с VB6 - при правильном написании программы и компиляции ее в native-code скорость практически та же что и у проектов на Cи. Про задачи работы с базами данных я уж не говорю - тут основная нагрузка на движке работы с базами, который для всех языков общий...
Форум Picbasic.ru » Программирование МК » Mikrobasic » Эффективность микробейсика (Оценка размера кода)
Страница 1 из 11
Поиск: