สิ่งหนึ่งที่ชี้ให้เห็นได้คือพจนานุกรมจะไม่เก็บวัตถุเอง (ซึ่งอาจมีหน่วยความจำขนาดใหญ่) แต่เป็นการอ้างอิงไปยังวัตถุดังนั้นหากวัตถุมีความซับซ้อนจะไม่มีผลกระทบต่อขนาดพจนานุกรม
ฉันได้รวบรวมหลายพันรายการไว้ด้วยกันในพจนานุกรมในหน่วยความจำและปัญหาไม่ใช่ขนาดของพจนานุกรม แต่ขนาดของวัตถุในหน่วยความจำ ในกรณีเหล่านี้พจนานุกรมเป็นส่วนเล็ก ๆ ของหน่วยความจำที่เกี่ยวข้อง
สิ่งหนึ่งที่คิดในกรณีของพจนานุกรมขนาดใหญ่คือการกำหนดค่าและจัดการความจุพจนานุกรมด้วยตนเอง ภายใต้สถานการณ์ปกติ. Net จัดการค่าปรับนี้ (ในการปรับใช้ปัจจุบันหากพื้นที่ไม่เพียงพอจะปรับขนาดเป็นจำนวนเฉพาะที่มีขนาดอย่างน้อยสองเท่าของขนาดปัจจุบันของพจนานุกรม) อย่างไรก็ตามหากคุณรู้ว่าคุณกำลังจะสร้างพจนานุกรมขนาดใหญ่หรือกำลังจะขยายพจนานุกรมแทน. Net การคาดเดาและปรับขนาดพจนานุกรมสำหรับคุณ (ซึ่งค่อนข้างแพง) มันน่าจะเป็นการดีกว่าถ้าคุณเริ่มต้นด้วยตัวคุณเอง ขนาดและอาจจัดการปรับขนาดในภายหลัง) สิ่งนี้สามารถทำได้โดยการจัดการความจุพจนานุกรมถ้าคุณมีความคิดแบบฮิวริสติกที่สมเหตุสมผลว่าความจุของพจนานุกรมควรเป็นเท่าไหร่ Microsoft แนะนำสิ่งนี้ในMSDN ในคำพูดของพวกเขาบนวัตถุพจนานุกรม อย่างไรก็ตามดูเหมือนว่าจะมีการถกเถียงเกี่ยวกับคุณค่าที่แท้จริงของวิธีการนี้แม้ว่าฉันจะไม่แน่ใจว่าการทดสอบนั้นเข้มงวดเพียงใดและหากมีการเพิ่มประสิทธิภาพอื่น ๆ ที่แพลตฟอร์ม. Net วางไว้เมื่อพจนานุกรมมีการปรับขนาดอย่างรวดเร็วมาก
นี่เป็นคำถาม Stack Overflow ที่มีประโยชน์เกี่ยวกับวัตถุและขนาดหน่วยความจำ