나는 3 차원 포인트 클래스를 가지고 있는데,이 클래스의 해시 함수는 프로파일 러에 따라 최적화를 수행하기에 좋은 장소입니다. 지금 좌표의 튜플을 내장 해시 함수에 전달하는 것입니다.3D 포인트 해시 함수 최적화
def __hash__(self):
return hash((self.x, self.y, self.z))
어떻게하면 더 빠르게 만들 수 있습니까? 매번 튜플을 생성하는 것이 좋지 않다고 가정합니다. 좌표는 실수입니다.
CPython을 사용하여 임의의 테스트를 수행했습니다. 이와 같이 미리 생성 된 터플을 사용하여 내 해싱 시간을 절반으로 줄였습니다. 비트 시프트는 거의 두 배가되었습니다. – lunixbochs
명명 된 튜플보다 왜 더 좋은가? –
나는 그것이 아니라고 생각하며, 나는 당신의 답을 upvoted. –