Почему затраты времени на захват стека вызовов так сильно различаются в зависимости от архитектуры ЦП? ⇐ C++
-
Гость
Почему затраты времени на захват стека вызовов так сильно различаются в зависимости от архитектуры ЦП?
Я нашел анализ профилирования в Руководстве Трейси (раздел 3.11), показывающий, что архитектура ARM имеет значительно более высокие временные затраты на захват стека вызовов по сравнению с архитектурами x86 и x64. Разница кажется весьма существенной, и мне интересно узнать основные причины.
Есть ли конкретные характеристики конструкции или принципов работы ARM, которые могут привести к такому разрыву в производительности при захвате стека вызовов? Как эти характеристики соотносятся с характеристиками архитектур x86 и x64?
Возможно, разницу легко объяснить классическим спором между RISC и CISC, но я подозреваю, что здесь есть нечто большее, учитывая сложность. современных коммерческих ISA. Мне нужны подробные сведения о том, как эти архитектуры по-разному обрабатывают операции со стеком вызовов, что потенциально влияет на время захвата.
Источник: https://stackoverflow.com/questions/781 ... multiple-c
Я нашел анализ профилирования в Руководстве Трейси (раздел 3.11), показывающий, что архитектура ARM имеет значительно более высокие временные затраты на захват стека вызовов по сравнению с архитектурами x86 и x64. Разница кажется весьма существенной, и мне интересно узнать основные причины.
Есть ли конкретные характеристики конструкции или принципов работы ARM, которые могут привести к такому разрыву в производительности при захвате стека вызовов? Как эти характеристики соотносятся с характеристиками архитектур x86 и x64?
Возможно, разницу легко объяснить классическим спором между RISC и CISC, но я подозреваю, что здесь есть нечто большее, учитывая сложность. современных коммерческих ISA. Мне нужны подробные сведения о том, как эти архитектуры по-разному обрабатывают операции со стеком вызовов, что потенциально влияет на время захвата.
Источник: https://stackoverflow.com/questions/781 ... multiple-c
Мобильная версия