Tiempo de CPUMATLAB

Ammar Ali 20 junio 2023
  1. Use el comando cputime para verificar el tiempo de la CPU en MATLAB
  2. Use los comandos tic y toc para verificar el tiempo de la CPU en MATLAB
Tiempo de CPUMATLAB

Este tutorial analizará la verificación del tiempo de la CPU utilizando los comandos tic, toc y cputime en MATLAB.

Use el comando cputime para verificar el tiempo de la CPU en MATLAB

Podemos usar el comando cputime para verificar el tiempo de CPU que tarda Matlab en ejecutar una tarea específica. Podemos observar el tiempo de CPU antes y después de la ejecución de una tarea, y su diferencia será igual al tiempo de CPU que toma esa tarea específica.

Por ejemplo, encontremos el tiempo de CPU necesario para crear un gráfico de superficie en Matlab. Vea el código a continuación.

clc
clear

Start_t = cputime;
surf(peaks(50))
End_t = cputime;
Elapsed_time = End_t - Start_t

Producción :

Elapsed_time =

    0.3906

En el código anterior, los comandos clc y clear se utilizan para borrar la ventana de comandos y espacio de trabajo de Matlab. El resultado es en segundos, lo que significa que la tarea tardó 390 milisegundos en completar el gráfico de superficie.

Tenga en cuenta que la salida puede cambiar dependiendo de la CPU que esté usando Matlab. Si ejecutamos el código repetidamente, la salida puede cambiar, por lo que es bueno ejecutar el programa varias veces y tomar el promedio de todos los períodos para minimizar el error.

El comando cputime devuelve el tiempo desde que Matlab comenzó a ejecutarse en segundos. La precisión de encontrar el tiempo que toma una tarea específica es menor si usamos el comando cputime porque cada vez que ejecutamos el código nuevamente, el tiempo cambiará drásticamente, por lo que debemos usar los comandos tic y toc explicado abajo.

Use los comandos tic y toc para verificar el tiempo de la CPU en MATLAB

Podemos usar los comandos tic y toc para verificar el tiempo de CPU que tarda Matlab en ejecutar una tarea específica. Para comprobar el tiempo de CPU, debemos definir el comando tic antes de la tarea y el comando toc después de la tarea.

El comando tic guardará el tiempo actual, y el comando toc utilizará el tiempo previamente almacenado para calcular el tiempo transcurrido. Por ejemplo, encontremos el tiempo de CPU necesario para crear un gráfico de superficie en Matlab.

Vea el código a continuación.

clc
clear

tic
surf(peaks(50))
toc

Producción :

Elapsed time is 0.105429 seconds.

En el resultado anterior, podemos ver que el tiempo que tarda el gráfico de superficie es diferente del tiempo que encontramos con el comando cputime. Podemos realizar un experimento con los dos métodos anteriores para verificar qué función es precisa.

Podemos usar la función pause() para dar una pausa en el programa y luego verificar el tiempo de la tarea, que debe estar cerca del tiempo de pausa. Vea el código a continuación.

clc
clear

tic
pause(1)
toc

Producción :

Elapsed time is 1.010429 seconds.

En el código anterior, hemos dado una pausa de 1 segundo y la salida es cercana a 1 segundo. Ahora usemos el comando cputime para comprobar el tiempo empleado.

Vea el código a continuación.

clc
clear

Start_t = cputime;
pause(1)
End_t = cputime;
Elapsed_time = End_t - Start_t

Producción :

Elapsed_time =

    0.2656

La diferencia entre el tiempo de pausa real y la salida en la salida anterior es muy alta. Así que deberíamos usar los comandos tic y toc para comprobar el tiempo de CPU necesario para ejecutar una tarea.

También podemos usar la función timeit() para comprobar el tiempo que lleva ejecutar una función antes de ejecutarla en Matlab. Consulte este enlace para obtener más detalles sobre la función timeit().

Consulte este enlace para medir con precisión el rendimiento de su código de Matlab.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook