numpy에서 matrix4x4를 복사하는 방법에 대한 퍼포먼스 테스트 Python

python에서 numpy로 array를 복사하는 방법에는 여러가지가 있는데 갑자기 성능에대한 궁금증이 생겨서 몇가지 테스트를 해보았습니다. 의외로 방법들마다 차이가 있었습니다.ㅎ


numpy에서 matrix4x4를 복사하는 방법에 대한 퍼포먼스 테스트 ( 각 케이스당 100,000번 수행 )


a=np.eye(4) # matrix4x4

b=np.eye(4)


# 이건 값을 복사하는 케이스가 아니기 때문에 테스트 하지 않음

a = b


# 주의할점은 이 두가지 방법은 값에 의한 복사가 아니다. numpy객체 자체는 다르지만 내부의 리스트는 같은 원소이다. 즉, a의 원소값을 바꾸면 b에도 동일하게 적용되기 때문에 주의해야 한다.

a = b[...] 0.0281984806060791

a = b[:] 0.03184771537780762


# 아래의 방법들은 실제로 값이 복사되는 방법들이다. 빠른순으로 정렬

a[...] = b 0.06301045417785645

a[...] = b[...] 0.08553266525268555

a = b.copy() 0.08831429481506348

a[:] = b 0.08985710144042969

a[:] =b[:] 0.11564087867736816

a[...] = b.copy() 0.14728522300720215


덧글

댓글 입력 영역