Действительно ли соглашение о вызовах fastcall действительно быстрее, чем другие соглашения о вызовах, такие как cdecl?
Я полагаю, что реализация Microsoft fastcall
на x86 и x64 предполагает передачу первых двух параметров в регистры, а не в стек.
Так как обычно он сохраняет как минимум четыре обращения к памяти, да, как правило, он быстрее. Однако, если задействованная функция не требует регистрации и, таким образом, в любом случае, скорее всего, запишет их локальным элементам в стеке, вряд ли будет существенное увеличение.