Por qué mi código en C++ se ralentiza mucho cuando el tamaño del array es 8192?
Hola a todos. Estoy escribiendo un programa en C++ para procesamiento de imágenes. Encontré un problema extraño: cuando el tamaño de mi array (o el paso del loop) es exactamente 8192 elementos, el programa comienza a funcionar 10 veces más lento. Con tamaño 8191 o 8193, todo vuela.
Aquí hay un código simplificado que reproduce el problema:
```cpp
#include
#include
#include
int main() {
const int SIZE = 8192;
// Si se cambia a 8191 o 8193 — la velocidad es normal
std::vector> matrix(SIZE, std::vector(SIZE, 1));
auto start = std::chrono::high_resolution_clock::now();
long long sum = 0;
for (int i = 0; i < SIZE; ++i) {
for (int j = 0; j < SIZE; ++j) {
sum += matrix[i][j];
}
}
auto end = std::chrono::high_resolution_clock::now();
std::chrono::duration elapsed = end - start;
std::cout << "Tiempo: " << elapsed.count() << " s, suma: " << sum << std::endl;
return 0;
}
```
No answers yet.
Inicia sesión para dejar una respuesta