Execution time is varying every time I run the program using tic toc. Is there any way to solve this?

20 visualizzazioni (ultimi 30 giorni)
I am running a code. The execution time of it is varying. If it of the order of milli seconds I understand it. But it is varying of the order of decades of milliseconds.
Like sometimes it is showing (in seconds).
0.189348
0.186602
0.110847
0.205987
22.769279
I am using matlab 2021a with all other apps closed.
Each time I am clearing the workspace and closing and opening the desktop app also. I want to know the correct way to find the execution time. How can do it.
  8 Commenti
Jan
Jan il 12 Ago 2022
Modificato: Jan il 13 Ago 2022
See: doc clear
Use e.g. clear variables or clear with the specific names of variables your want to delete.
clear is rarely useful in Matlab and used too often without a good reason. You do not have to clear a variable to calculate it again.
Palguna Gopireddy
Palguna Gopireddy il 12 Ago 2022
As @Bjorn Gustavsson suggested, I used timeit function and loaded the data from external disc seperately and passed it to the function.
The time is only varying of the order of milli secconds only.
I think its good result.

Accedi per commentare.

Risposte (1)

Shivani Dixit
Shivani Dixit il 25 Ago 2022
Hello,
As per the data provided it seems the tic and toc functions display approximately same values except for times when values exceed the order of 10.
The tic and toc functions returned incorrect results because:
  1. The standard processor driver presented the wrong information to the Windows QueryPerformance interface about which timer to use.
  2. In those cases where the CPU independent APIC clock should have been used, the CPU cycle counter was used instead. The CPU cycle counter can be used only if the processor speed does not vary and if all the cores in the multi-core case appear to be synchronized.
As a solution to this issue, I would like to suggest to:
Install the patch for your hardware starting with the corresponding URL shown below. Reboot your system and rerun the required MATLAB file. It should now pass.
1. Athlon processors
There is one patch that can be applied for both Windows XP and
Windows XP64. Look for a title that begins:
----------------------------------
AMD Athlon 64/FX Processor Driver for Windows XP and
Windows Server 2003 Version (x86 and x64 exe)
----------------------------------
The version and date will change for time. The latest should always work.
2. Opteron processors
There is one patch that can be applied for both Windows XP and
Windows XP64. Look for a title that begins:
----------------------------------
MD Opteron Processor with AMD PowerNow Technology Driver
for Windows XP and Windows Server 2003 Version
(x86 and x64 exe)
----------------------------------
The version and date will change for time. The latest should always work.
The AMD patch installs a new processor driver and, in certain cases, modifies the boot.ini file .

Categorie

Scopri di più su Programming in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by