-
- Обычно шины ОЗУ и ПЗУ разные, шина ОЗУ часто свободна - AlexBi(31.08.2026 19:09)
- Насколько я понимаю проц имеет самый высокий приоритет на шине, и
если его усыпить, то DMA все по быстренькому перекидает, и гораздо
быстрее чем проц ручками. - IBAH(31.08.2026 19:09)
- Всё уже было. Вот тут с картинками: SciFi(2 знак., 31.08.2026 19:14 - 19:25, ссылка, картинка)
- Странно: почему у newlib-nano такое сильное отставание в memcpy()? Eddy_Em(107 знак., Вчера, 09:03)
- Там как раз по байтику. Зато минимум кода. - SciFi(Вчера, 09:16)
- Ты в листинг загляни. Бывает, оно оптимизирует и всё, что можно,
копирует полными словами. А бывает - по байтам. Может от версии
библиотеки зависеть. YMMV. - Nikolay_Po(Вчера, 09:16)
- Еще ведь от модели МК зависит: на всяких "нулевках", если копировать невыровненными словами, будет хардфолт. Т.е. недостающие до слова из головы и хвоста надо побайтно, остальное - по словам. Eddy_Em(546 знак., Вчера, 10:27)
- По умному эти функции должны инлайниться самим компилятором (его
оптимизатором), и не зависеть от библиотеки. Такие компиляторы
есть, но не все. - AlexBi(Вчера, 09:51)
- memcpy не такая уж простая функция. я бы сказал, что инлайнятся
реализации в зависимости от условий. самое жирное в плане
реализации - копирование перекрывающихся областей - когда
(src+size) > dst. потому везде пихать одинаковое - как-то
нерационально. и вместо поиска оптимальной реализации в рантайме и
соответствующего оверхеда это дело по возможности инлайнится именно
компилятором. - Vit(Вчера, 12:25)
- У memcpy в мане написано, что перекрывающиеся области - UB,
пользуйтесь, мол, более правильной memmove для таких случаев. - Eddy_Em(Вчера, 13:25)
- об memmove первый раз слышу. наверно потому и придумали. - Vit(Вчера, 19:17)
- У memcpy в мане написано, что перекрывающиеся области - UB,
пользуйтесь, мол, более правильной memmove для таких случаев. - Eddy_Em(Вчера, 13:25)
- Есть плюсы и минусы у этого подхода. Обобщать "умно" или "неумно"
здесь едва ли имеет смысл. - SciFi(Вчера, 09:54)
- Можете сказать какие есть минусы? - AlexBi(Вчера, 09:56)
- memcpy не такая уж простая функция. я бы сказал, что инлайнятся
реализации в зависимости от условий. самое жирное в плане
реализации - копирование перекрывающихся областей - когда
(src+size) > dst. потому везде пихать одинаковое - как-то
нерационально. и вместо поиска оптимальной реализации в рантайме и
соответствующего оверхеда это дело по возможности инлайнится именно
компилятором. - Vit(Вчера, 12:25)
- Что интересно - с отключенным у DMA FIFO получается немного быстрее. - ЫЫyкпy(Вчера, 07:12)
- негрузиться!!! что там? - IBAH(31.08.2026 19:21)
- Странно: почему у newlib-nano такое сильное отставание в memcpy()? Eddy_Em(107 знак., Вчера, 09:03)
- Всё уже было. Вот тут с картинками: SciFi(2 знак., 31.08.2026 19:14 - 19:25, ссылка, картинка)