OpenMP будет простым способом поиграть с многоядерным программированием на C ++. Пример из Википедии на самом деле ничего не требует от процессора, но вы можете заменить 'cout' на некоторую независимую, долго работающую функцию.
OpenMP
Что касается 64-битной системы, то значительный прирост производительности будет происходить из нескольких мест.
Увеличена пропускная способность, поскольку все элементы данных шире, процессор может обрабатывать больше данных в любой заданный тактовый цикл. Взгляните на некоторые тесты Microsoft для Exchange Server, теперь они перешли на поддержку 64-разрядных только потому, что увеличение пропускной способности невероятно.
Больше регистров, так как 64-битная архитектура имеет большое количество регистров, большинство параметров функции и возвращаемое значение могут быть переданы с использованием регистров.
В ABI x86 с некоторыми соглашениями о вызовах один или, может быть, два параметра могут быть переданы через регистры, а остальные должны быть помещены в стек. При обычном соглашении о вызовах, таком как cdecl, ни один параметр или возвращаемое значение не помещается в регистр. Поскольку стек расположен в основной памяти, это может сильно повлиять на производительность.