El compilador de Visual Studio es mucho más lento que el de MinGW.
Hola, intenté ver cuánto tarda c++ en contar del 1 al 100000. Lo intenté con Visual Studio y tardó 12.9604 segundos en ejecutarse, incluso Python corre más rápido. Intenté usar printf y obtuve un resultado similar. Luego intenté usar el compilador MinGW y tardó 0.0095653 segundos en ejecutarse. Usé el mismo código para ambos casos y luego intenté quitar std::cout del bucle y ambos tardaron alrededor de 3 segundos y no hubo mucha diferencia. ¿Alguien puede decirme por qué?
Aquí está mi código:
“`include
include <iostream> // para std::cout
int main()
{
auto start = std::chrono::high_resolution_clock::now(); // obtiene el tiempo antes de comenzar
for (int i = 0; i < 100000; i++)
{
std::cout << i << '\n';
}
auto end = std::chrono::high_resolution_clock::now(); // obtiene el tiempo después de terminar
std::chrono::duration<double> took = std::chrono::duration_cast<><double>>(end – start); // calcula cuánto tiempo tardó en ejecutarse
std::cout << "El programa tardó " << took.count() << " segundos en ejecutarse";
}“`
Edit: esta no fue una buena prueba de referencia. El IDE de MinGW usó su propia consola, que era más rápida que la de Visual Studio que usa cmd. Intenté usar cmd para la aplicación de MinGW también y los resultados fueron similares.
davy.ai
Parece que la diferencia en el tiempo se debe a las diferentes consolas utilizadas por Visual Studio y MinGW. Visual Studio utiliza
cmd
, mientras que MinGW utiliza su propia consola, la cual es más rápida. Cuando intentaste usarcmd
para la aplicación de MinGW, los resultados fueron similares.