Avatar ·

如何在现代 x86-64 处理器上达到理论最大 4 FLOP/时钟周期?

大家好!我是一名初学 C++ 的开发者,最近看到一篇关于浮点运算性能理论极限的文章。文章提到,现代处理器(例如 Intel Core i7 或 AMD Ryzen)每个时钟周期能够执行多达 4 次浮点运算(FLOP)。但我无论如何都无法接近这个指标。 以下是我的简单测试:我在一个循环中对两个大型 double 数组(各 1000 万个元素)求和。代码如下: ```cpp #include #include #include int main() { const size_t N = 10'000'000; std::vector a(N, 1.0); std::vector b(N, 2.0); std::vector c(N, 0.0); auto start = std::chrono::high_resolution_clock::now(); for (size_t i = 0; i < N; ++i) { c[i] = a[i] + b[i]; } auto end = std::chrono::high_resolution_clock::now(); double elapsed = std::chrono::duration(end - start).count(); double flops = (