Почему затраты времени на захват стека вызовов так сильно различаются в зависимости от архитектуры ЦП?C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Почему затраты времени на захват стека вызовов так сильно различаются в зависимости от архитектуры ЦП?

Сообщение Гость »


Я нашел анализ профилирования в Руководстве Трейси (раздел 3.11), показывающий, что архитектура ARM имеет значительно более высокие временные затраты на захват стека вызовов по сравнению с архитектурами x86 и x64. Разница кажется весьма существенной, и мне интересно узнать основные причины.
Есть ли конкретные характеристики конструкции или принципов работы ARM, которые могут привести к такому разрыву в производительности при захвате стека вызовов? Как эти характеристики соотносятся с характеристиками архитектур x86 и x64?
Возможно, разницу легко объяснить классическим спором между RISC и CISC, но я подозреваю, что здесь есть нечто большее, учитывая сложность. современных коммерческих ISA. Мне нужны подробные сведения о том, как эти архитектуры по-разному обрабатывают операции со стеком вызовов, что потенциально влияет на время захвата.


Источник: https://stackoverflow.com/questions/781 ... multiple-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»