This article mainly introduces the relevant information about the calculation method of Python. Friends who need it can refer to it
First of all, let me talk about the pitfalls I encountered and the problems encountered in production. When I encountered the problem, I scheduled the execution of the Python script and monitored the process. The running time of the python script was much greater than the program execution time calculated by myself in the python script.
The monitoring time for the execution of the python script is 36 hours, and the statistics of its own execution time in the python script are about 4 hours.
After the problem was exposed, the first thing that came to mind was that something was wrong with Linux. I searched various logs and found no abnormalities.
Then I thought of py2neo used in python to write data asynchronously and block process execution.
Finally, I finally found the problem: the way the python script uses time statistics is time.clock(), and this method counts the execution time of the CPU, not the execution of the program. time.
Next, let’s compare several python statistical time methods:
Method 1:
import datetime starttime = datetime.datetime.now() #long running #do something other endtime = datetime.datetime.now() print (endtime - starttime).seconds
datetime.datetime.now() acquisition is the current date. After the program execution ends, the time value obtained in this way is the program execution time.
Method 2:
start = time.time() #long running #do something other end = time.time() print end-start
time.time() Gets the current time in seconds since the epoch. Fractions of seconds may be present if the system clock provides them. So what this place returns is a floating point type. What is obtained here is also the execution time of the program.
Method 3:
start = time.clock() #long running #do something other end = time.clock() print end-start
time.clock() returns the CPU time since the start of the program or the first time clock() was called. This has as much precision as the system records. What is returned is also a floating point type. What is obtained here is the execution time of CPU.
Note: Program execution time = cpu time + io time + sleep or waiting time
Thanks for reading, I hope it can help everyone, thank you for your support of this site!
The above is the detailed content of Three method codes for calculating execution time using Python. For more information, please follow other related articles on the PHP Chinese website!