Проблема в том, что этот код выполняется на моем компьютере в 4 раза дольше, чем на компьютере моего друга, когда для цели установлено большое число, и я хочу понять, почему.
void work(){
for(long long i = 0; i < target; i++)
current++;
}
Мой процессор:
Intel i9 13900k (Raptor Lake)
Его процессор:
AMD Ryzen 9 9950X (Zen 5) )
У нас одна и та же оперативная память:
G.SKILL Ripjaws S5 Series, 64 ГБ (2 x 32 ГБ), 288-контактная оперативная память для ПК DDR5 5600 (ни один из нас не использует турбонаддув до 5600) )
Мы отключили оптимизацию компилятора перед компиляцией программы из Visual Studio ради бенчмаркинга.
Какие могут быть возможные причины Причина в огромной разнице во времени выполнения, несмотря на то, что наши процессоры имеют одинаковую тактовую частоту?
Я ожидал, что разница во времени выполнения будет намного меньше, чем она оказалась в итоге. На его машине это заняло около 15 секунд, на моей — 60 секунд. Вот полный исходный код созданной нами тестовой программы.
#include
#include
static long long target = 5e10,
current = 0;
void work();
int main(){
char delay;
std::cin >> delay;
float startTick = clock();
work();
float ticksTaken = (clock() - startTick),
secondsTaken = ticksTaken/CLOCKS_PER_SEC,
msTaken = secondsTaken * 1e3;
std::cout
Подробнее здесь: https://stackoverflow.com/questions/790 ... x-faster-o
Почему эта неоптимизированная сборка цикла, увеличивающего счетчик, работает в Zen 5 в 4 раза быстрее, чем недавний Inte ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как недавний выпускник, как я могу процветать в области разработки Android [закрыто]
Anonymous » » в форуме Android - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-