Я действительно не эксперт в архитектуре процессора, поэтому внимательно следите за моими комментариями. В Википедии есть статья, описывающая архитектуру x86-64 (link text).
У x86-64 больше регистров, это само по себе должно помочь сделать программу быстрее. Кроме того, эта новая архитектура предлагает новые наборы инструкций, которые могут повысить скорость, если компилятор использует ее.
Другим фактором, который необходимо учитывать, является количество доступных наборов инструкций. Когда программа скомпилирована для x86, обычно ее целью является запуск всех существующих 32-разрядных CPUS (Pentium 1, 2, 3, 4, core * и т. Д.). Каждое новое поколение процессоров добавляет новые наборы инструкций, эти инструкции не могут использоваться программой, которая хочет быть полностью переносимой в двоичном формате среди всех x86 CPUS. Поскольку x86-64 бит представляет собой новую архитектуру, перекомпиляция программы для этой машины дает компилятору более широкий набор инструкций для использования, не беспокоясь слишком много о бинарной совместимости между 64-разрядным CPUS-интерфейсом.
Спасибо за объяснение! – Jason