ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1158171 Топик полностью
Mahagam (24.12.2021 18:13, просмотров: 187) ответил LightElf на Дык я именно об этом. Компилятор не смогли осилить (точнее результат так себе) именно потому, что текст программы уже написан на императивном языке (C, ++, еще что-то), в котором важная информация уже потеряна. Компилятор пытается выцедить параллелизм из текста, изначально подразумевавшего последовательное выполнение. Т.е. сначала программист раскладывает задачу на набор последовательных маленьких шагов, а потом компилятор пытается из фарша слепить стейк.
я в своё время пытался обогнать memcpy самописным кодом на ARM7. ничего не получилось. посмотрел в отладчике - там если размер мелкий, то оно копировалось классическим методом, по байтику за раз. но как только размер для копирования был более чем N байт, то организовывался хитрый цикл с командами ldm stm, а некратный N остаток копировался опять же по классике. так что нормальные библиотеки учитывают множество различных случаев.