2013-04-19 4 views
1

둘 다 똑같은 일을하는 것처럼 보입니다. 어떤 유스 케이스가 다른 유스 케이스를 필요로합니까?OpenStruct와 해시 간의 중요한 차이점은 무엇입니까?

현재 일부 발표자 수업을 진행하고 있습니다. 내 첫 번째 생각은 OpenStruct를 사용하는 것이지만 해시와 OpenStruct를 사용하는 것의 의미있는 차이점을 확인할 수는 없습니다.

+1

OpenStructs를 사용하여 큰 성능 저하가있다 - 당신이 다음 해시 고집하는 것이 좋습니다 있도록 – Tilo

답변

1

OpenStructs는 sloooooooooow이며 메모리 집약적이며 대용량 데이터 세트의 경우 확장되지 않습니다. 1 백만 개의 OpenStruct를 만드는 것은 1 백만 개의 해시를 만드는 것보다 ~ 100 배 느립니다.

이 여기에 자세히 설명되어있다 :

When should I use Struct vs. OpenStruct?

+0

흠 내 대답은 아래를 참조는? 왜 사람들은 Structs/OpenStructs를 사용합니까? – Trip

+1

예, 1 백만개의 Openstruct를 만드는 것은 1 백만 개의 해시를 만드는 것보다 약 100 배 느립니다. 언급 한 질문에서 자세한 비교를 확인하십시오. – Tilo

+0

와우 대단히 감사합니다. OpenStructs는 매우 드물게 사용되는 거의 이상한 틈새 시장 일뿐입니다. 감사! – Trip

4
  1. 개체 구문 v 해시 구문.

메서드에 특정 접근자가있는 개체가 필요하면 해시가 작동하지 않습니다.

관련 문제