2011-09-26 4 views
1

다른 크기의 사전 크기를 정확하게 계산해야합니다. 내 응용 프로그램을 실행하는 동안 일부 메모리 모니터링을 시도했지만, 결과에 영향을 미치는 동시에 많은 다른 것들을하고있다.사전 예측 <> 크기 및 속도

n 개의 항목이있는 사전의 예상 크기를 어떻게 계산할 수 있습니까? 나는 다른 scenarious에서 내가 얼마나 많은 RAM을 필요로하는지 알 필요가있다.
검색 시간이 증가하는 요인은 무엇입니까? O (1) 언제나?

10M + 항목에 대한 사전을 사용할 계획입니다. Size of a dictionary

답변

2

에 대한

이미 consideret 질문은 내가 작은 테스트 프로그램을 만들어 내 자신의 질문에 대답합니다.

여기 결과이다 : 10 개 000 000 랜덤 항목으로 구성된 테이블

  • 100 000 랜덤 룩업 테이블은 200MB의 RAM을 사용하고, 0.02 초 걸린다.

  • 사전에 사용 된 메모리는 100 개가 넘으면 Int32 인덱스에서 약 20-22 배 정도되는 것 같습니다. 사전이 커짐에 따라 비율이 내려갑니다.

  • 사전 할당 메모리는 삽입 시간에 눈에 띄게 줄어든 것처럼 보입니다. http://blog.tedd.no/2011/09/26/net-dictionary-speed-and-memory/

    에서

Results from Dictionary memory and speed test

시험의 세부 사항 및 결과

관련 문제