Home  >  Article  >  Backend Development  >  Three method codes for calculating execution time using Python

Three method codes for calculating execution time using Python

高洛峰
高洛峰Original
2017-03-20 09:22:311574browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn