Me preguntaba si este es el comportamiento esperado en C++. El código siguiente funciona a alrededor de 0,001 ms:Escritura lenta en una matriz en C++
for(int l=0;l<100000;l++){
int total=0;
for(int i = 0; i < num_elements; i++)
{
total+=i;
}
}
Sin embargo, si los resultados se escriben en una matriz, el tiempo de ejecución se dispara a 15 ms:
int *values=(int*)malloc(sizeof(int)*100000);
for(int l=0;l<100000;l++){
int total=0;
for(unsigned int i = 0; i < num_elements; i++)
{
total+=i;
}
values[l]=total;
}
puedo apreciar que la escritura a la la matriz lleva tiempo pero ¿es proporcional el tiempo?
todos aplauden
Su pregunta dice C, pero sus etiquetas dicen C++. ¿Cuál es? –
lo siento, estrictamente C++ pero si las declaraciones int se movieron fuera de los ciclos for entonces C – Ljdawson
@Laurence - No, su código es perfectamente estándar en C99, y la mayoría de los compiladores C89 aceptarán la sintaxis que use. –