Расчет требуемой памяти
- Войдите на сайт для отправки комментариев
Вс, 03/06/2018 - 17:05
Добрый день, уважаемые гости Форума. У меня ардуино с процессором atmega 128 с тактовой частотой 16Мц и объемом 128 Кб. Не подскажете как мне оценить объем требуемой памяти и занимаемого времени для расчет определенного алгоритма. Спасибо!
...как мне оценить объем требуемой памяти и занимаемого времени для расчет определенного алгоритма. Спасибо!
Произведя определенные расчеты вы придете к определенному результату.
Пожалуйста.
А вот если алгоритм неопределенный , то надо проводить неопределенные расчеты, что бы разумеется прийти к неопределенному результату.
https://www.youtube.com/watch?v=yNt9_vMPjZU
Предлагаю количество переменных помножить на их размерность. И два на ум положить.
А вот если алгоритм неопределенный , то надо проводить неопределенные расчеты, что бы разумеется прийти к неопределенному результату.
https://www.youtube.com/watch?v=yNt9_vMPjZU
Добрый день, уважаемые гости Форума. У меня ардуино с процессором atmega 128 с тактовой частотой 16Мц и объемом 128 Кб. Не подскажете как мне оценить объем требуемой памяти и занимаемого времени для расчет определенного алгоритма. Спасибо!
1. Для оценки требуемого объема оперативной памяти следует количество используемых переменных умножить на размер каждой переменной (т.е. на количество байт, которое нужно для ее хранения).
2. Для оценки времени выполнения алгоритма следует количество операций, которые выполняются при работе алгоритма, умножить на время выполнения каждой операции.
Понятнее стало?
Мне ежедневно приходится общаться с людьми, опыт которых в программировании превосходит четверть века, но котороы не умеют оценить ни того, ни другого. Хотя в теории, вроде бы, все просто.
А собственно "зачем"? Пишешь скетч, компиляешь и читаешь скока оно заняло места. Смотришь размер программы и примерно понимаешь сколько оно будет исполняться: RISC жеж! 1 команда = 1такт + чтение/запись в SRAM 1 команда = 2такта, итого в среднем 1.5 такта на размер программы. :)
тут вот недавно кто-то 30 мегабайт накомпилял, спрашивал, как втиснуть.
Смотришь размер программы и примерно понимаешь сколько оно будет исполняться:
Sketch uses 450 bytes (1%) of program storage space. Maximum is 32 256 bytes.
Сколько примерно оно будет исполняться?
void setup() { while(1){} } void loop() { }Нисколько. Оптимизатор выбросит все как ненужное. :)
А как же 450 байт?
А вот так 50 байт.
int main() { while(1);} void setup() {} void loop() {}Мне ежедневно приходится общаться с людьми, опыт которых в программировании превосходит четверть века, но котороы не умеют оценить ни того, ни другого. Хотя в теории, вроде бы, все просто.
Может они чего про стек слышали и динамическое распределение памяти встречали за четверть века?
Да пофиг на них. :)