Вопрос

Являются ли переупорядочение и чередование взаимозаменяемыми понятиями, когда дело доходит до компиляции, оптимизации и выполнения кода?

Это было полезно?

Решение

Я бы сказал, что они описывают похожую технику, но на уровне деталей означают что-то другое.

Переупорядочение означает взятие случайных инструкций и перемещение их по какой-либо причине.Это довольно общее.

Чередование означает наличие двух длинных фрагментов кода, которые обращаются к разным аппаратным ресурсам и, следовательно, могут работать параллельно.Сочетание инструкций в продуманном шаблоне может привести к сокращению времени выполнения.

Другие советы

если вы имеете в виду выполнение вне порядка, это что-то, что делается процессором во время выполнения в зависимости от доступности исполнительных блоков и инструкций, которые должны быть выданы, в то время как то, что Аарон описал выше, будет во время компиляции (или даже разработки). время, если код сложный (на ум приходит псевдонимирование указателей) или компилятор не слишком хорош).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top