Скорость копирования структуры в структуру.
- Войдите на сайт для отправки комментариев
Чт, 08/09/2016 - 14:28
Есть достаточно объёмная структура (около 600 байт) собственно говоря их две одинаковых. Интересует вопрос как быстро осуществится операция. struct1=struct2;
Я так понял что это весьма быстрая операция и выполнится за те же 600 тактов. плюс минус. Или быстрее ?
А просто попробовать? Напечатать значение millis, присвоить её 1000 (или 10000) раз, а потом снова напечатать значение millis религия не позволяет? :))))
Смотря какой процессор. AVR будет героически пыхтеть по словам, по два такта загрузки в регистр с инкрементом указателя в регистре и по два такта на запись в память с инкрементом указателя в регистре. То есть, на 600 байт потребуется 1200 тактов + 4 такта на загрузку указателей, если они еще не в регистрах.
На ARM можно вообще поручить это DMA, пусть в фоне трудится. В случае DMA будет по 2 такта на 32-х битное слово. То есть 300 тактов + инициализация DMA такта четыре (в лом смотреть точно).
Само собой, подразуемевается, что выполняется не присваивание структур, а
Понятно, приблизительно так и думал. С разрядностью только промахнулся.
Понятно, приблизительно так и думал. С разрядностью только промахнулся.
Точно, AVR по байту пересылает ведь, а не по слову (