นี่เป็นคำถามการออกแบบซอฟต์แวร์
ฉันเคยทำงานกับกฎต่อไปนี้เพื่อความเร็ว
cache memory > memory > disk > network
ในแต่ละขั้นตอนจะมี 5-10 เท่าของขั้นตอนก่อนหน้า (เช่นหน่วยความจำแคชเร็วกว่าหน่วยความจำหลัก 10 เท่า)
ตอนนี้ดูเหมือนว่ากิกะบิตอีเธอร์เน็ตมีเวลาแฝงน้อยกว่าดิสก์ในเครื่อง ดังนั้นการดำเนินการอ่านฐานข้อมูลในหน่วยความจำระยะไกลขนาดใหญ่อาจเร็วกว่าการอ่านดิสก์ในเครื่อง มันให้ความรู้สึกเหมือนบาปกับตัวจับเวลาเก่าอย่างฉัน (ฉันเพิ่งใช้เวลาสร้างแคชบนดิสก์เพื่อหลีกเลี่ยงการเดินทางไปกลับเครือข่าย - ดังนั้นคำถามของฉัน)
ใครบ้างมีประสบการณ์ / หมายเลข / คำแนะนำในพื้นที่นี้
และใช่ฉันรู้ว่าวิธีที่แท้จริงที่จะค้นพบคือการสร้างและวัด แต่ฉันก็สงสัยเกี่ยวกับกฎทั่วไป
แก้ไข :
นี่คือข้อมูลที่น่าสนใจจากคำตอบยอดนิยม:
ไปกลับภายในดาต้าเซ็นเตอร์เดียวกัน 500,000 ns
ดิสก์ค้นหา 10,000,000 ns
นี่มันทำให้ฉันตกใจ แบบจำลองทางจิตของฉันคือการเดินทางไปกลับเครือข่ายช้าโดยเนื้อแท้ และไม่ใช่ - มันเร็วกว่าดิสก์ 10 เท่า 'ไปกลับ'
Jeff attwood โพสต์บล็อกนี้ดี v ในหัวข้อhttp://blog.codinghorror.com/the-infinite-space-between-words/