더북(TheBook)

앞의 방법을 모두 시도했지만 실패했다면, 다른 프로그래밍 언어나 실행 모델로 이전하는 것도 고려할 수 있다. 예를 들어 파이썬에서 성능 문제가 자주 발생하는 부분 중 하나는 타이트 루프다. 주로 수학적 연산을 수행하는 커널 함수에서 많이 나타난다. 다음 파이썬 코드는 두 벡터의 내적(dot product)을 계산하는데, 비슷한 기능을 C로 구현했을 때보다 훨씬 느리게 실행된다.

def dot_product(a, b):
    result = 0
    for i, j in zip(a, b):
        result += i * j
    return result

print(dot_product([1, 2], [3, 4]))

 

>>>
11