2017-11-16 3 views
-3

그래서 파이썬이 얼마나 빨리 변수를 출력 할 수 있는지 알고 자합니다. 저는 이것을 사용하여 파이썬이 googol을 계산하는 데 걸리는 시간을 계산합니다. 이제는 이것이 이론적으로 불가능하다는 것을 알고 있지만, 나는 우스운 숫자를보고 싶습니다. 그래서 나는 1 초 안에 몇개의 변수가 인쇄되는지를 알아 내야 할 프로그램을 만들었다.파이썬에서 얼마나 많은 숫자를 초 단위로 계산할 수 있습니까?

import time 
start_time = time.time() 
x = 0 
while True: 
    elapsed_time = time.time()-start.time 
    if int(elapsed_time) != 00:00:01: 
     x+=1 
     print(x) 
    else: 
     break 
final = "Python calculated "+ x +" numbers in 1 second!") 
end = input("") 
+0

숫자를 계산하는 것보다 훨씬 많은 일을하고 있습니다. –

+1

그냥 timeit 모듈을 사용하십시오. 더 정확한 답을 얻을 수 있습니다 – SuperStew

+0

질문을 너무 빨리 제출 한 것으로 보입니다. 그래서 당신은 당신이하고 싶은 것을 어느 정도 식별했고, 당신은 프로그램을 만들었습니다. ... 그리고? 뭐가 문제 야? 작동하지 않는 것은 무엇입니까? – David

답변

0

파이썬은 지정된 컴퓨터에 다른 소수를 추가 할 수 있습니다 얼마나 많은 시간을 추정 할 수있는 프로그램을 작성하기가 너무 어려운 일이 아니다. 목표는 관리 할 수있는 오버 헤드를 최소화하면서 최대한 빨리 실행되는 루프를 만드는 것입니다. 다음 프로그램은 약 1 분 동안 이러한 루프를 실행 한 다음 초당 실행 된 추가 명령어 수에 대한 합리적인 추정을 제공합니다. Can this loop be sped up in pure Python? 성능 프로그램과 개별 컴퓨터에 따라 달라질 수 :

#! /usr/bin/env python3 
import _thread 
import time 

TIMEOUT = 60 


def main(): 
    interrupt_main_after(TIMEOUT) 
    count = run_addition_loop() 
    print('About', round(count/TIMEOUT, 3), 'numbers were added per second.') 


def interrupt_main_after(seconds): 
    def interrupter(): 
     time.sleep(seconds) 
     _thread.interrupt_main() 

    _thread.start_new_thread(interrupter,()) 


def run_addition_loop(): 
    count = 0 
    try: 
     while True: 
      count += 1 
    except KeyboardInterrupt: 
     return count 


if __name__ == '__main__': 
    main() 

당신은 여기에 귀하의 컴퓨터에서뿐만 아니라 벤치 마크를 실행하는 다른 방법을 찾을 수 있습니다.

+0

예를 들어, 내가 사용하고있는 컴퓨터에서 실행 한 결과는 다음과 같습니다.'약 27229815.667 초당 숫자가 추가되었습니다 .' –

관련 문제