2012-09-01 5 views
1

나는 다음 결과와 시간을 표시하기 위해 다음과 같은 코드를 사용하여 mod_wsgi.But에서 결과를 알아 냈다. 그러나 무엇이든 나는 항상 0으로 경과 시간을 얻는다. 나노초로 시간을 반올림했다. . 차이를 계산하려면 지금 무엇을해야합니까?mod_wsgi의 파이썬에서 시간차

#!D:/Python27/python 

from wsgiref.simple_server import make_server 
from cgi import parse_qs, escape 
import time 
import datetime 

html = """ 
<html> 
<body> 
    <h2>Sum of first n factorials</h2> 
    <form method="get" action="Sec1q10.py"> 
     Number :<input type="text" name="t1"> 
<br> <input type="submit" value="Submit"> 
    </form> 
    <br> 
    Result:%s<br> 
    Now:%s<br> 
    End:%s<br> 
    Time:%s 
    </body> 
</html>""" 

def application(environ, start_response): 
d=parse_qs(environ['QUERY_STRING']) 
now = int(round(time.time()*1000000)) 
n=d.get('t1',[''])[0] 
i=1 
p=1 
s=0 
while (i<=int(n)): 
    p = p*i 
    s =s+p 
    i = i+1 
end= int(round(time.time()*1000000)) 
diff=end-now 
status = '200 OK' 
output = html % (s or 'Empty',now or 'Empty',end or 'Empty',diff or 'Empty') 

response_headers = [('Content-type', 'text/html'), 
        ('Content-Length', str(len(output)))] 
start_response(status, response_headers) 

return [output] 

하고 표시 출력 내가 수 4 입력 한 경우이다 : 다른

Result:33 
Now:1346520500489000 
End:1346520500489000 
Time:Empty 

와트 나 경과 시간을 알아 내기 위해 사용할 수?

답변

2

time.time()에는 무제한 해상도가 없습니다. 테스트중인 작업에는 전혀 시간이 없습니다. 훨씬 더 큰 n을 사용하거나 루프를 고정 된 횟수만큼 반복 (예 : 천분)하고 반복 한 횟수로 결과를 나눕니다.