ฉันหมายถึงผังหมายเลขแฝงนี้จาก Jeff Dean ที่ Google
สิ่งที่ฉันไม่เข้าใจคือตัวเลขเหล่านี้ไม่แตกต่างจากชุดหนึ่งไปยังอีกชุดหรือไม่? สิ่งเหล่านี้มีความถูกต้องสำหรับ RAM, CPU, เมนบอร์ด, ฮาร์ดไดรฟ์หรือไม่?
ฉันหมายถึงผังหมายเลขแฝงนี้จาก Jeff Dean ที่ Google
สิ่งที่ฉันไม่เข้าใจคือตัวเลขเหล่านี้ไม่แตกต่างจากชุดหนึ่งไปยังอีกชุดหรือไม่? สิ่งเหล่านี้มีความถูกต้องสำหรับ RAM, CPU, เมนบอร์ด, ฮาร์ดไดรฟ์หรือไม่?
คำตอบ:
ตัวเลขเหล่านี้ (ซึ่งระบุไว้ในโปรแกรมสอนตัวเองของ Norvig ในระยะเวลา 10 ปี ) นั้นเป็นค่าโดยประมาณมีประโยชน์เพียงขนาด (ลำดับของ)
ที่จริงแล้วฮาร์ดแวร์ของทุกวันนี้ (อย่างน้อยสำหรับเดสก์ท็อปหรือแล็ปท็อป) ไม่แตกต่างกันมากนักระหว่างแล็ปท็อปราคาถูก 300 €และเวิร์กสเตชันระดับสูง 10k € ความเร็วแตกต่างกันไปตามปัจจัยประมาณ 2 หรือ 4 ที่มากที่สุด เวิร์กสเตชันดังกล่าวสามารถมีดิสก์ขนาดใหญ่แกนเพิ่มเติมแคชและ RAM อย่างไรก็ตามสิ่งนี้ไม่มีผลกระทบต่อประสิทธิภาพของเธรดเดี่ยวแบบดิบ
ดูตัวเลขในhttp://openbenchmarking.org/หรือตัวเปรียบเทียบ CPU บางตัว
ที่เรียกว่ากฎของมัวร์จะตาย เดสก์ท็อปอายุ 3 ปีของฉันที่บ้าน (i3770K) อาจถูกแทนที่ (วันนี้มีนาคม 2016) โดยบาง i6700 ซึ่งเร็วกว่าเพียง20%
ตัวเลขไม่ได้มีความถูกต้อง มันเป็นอัตราส่วนระหว่างคำสั่งของขนาดระหว่างระดับที่มีความสำคัญ
อย่างไรก็ตามเมื่อเทคโนโลยีก่อกวนปรากฏขึ้น (เช่น cloud computing, 10GB / 100GB ethernet, โมดูลเคอร์เนลเครือข่ายใหม่, เครือข่ายเก็บข้อมูล SSD, การจำลองเสมือนและการจำลองคอนเทนเนอร์) ตัวเลขเหล่านี้อาจไม่ถูกต้องเนื่องจากมีระดับใหม่ปรากฏขึ้นหายไปหรือถูกสับ
เมื่อการเขียนโปรแกรมในระดับสูงมาก - ซึ่งการคำนวณเครือข่ายการแจง ฯลฯ ทั้งหมดจะดำเนินการโดยใช้ห้องสมุดที่ไม่ได้เขียนด้วยตัวเองการรู้ตัวเลขประสิทธิภาพของการปฏิบัติการระดับต่ำอาจไม่ได้ช่วยอะไรมากนักเนื่องจากโอกาสในการปรับปรุงแต่ละอย่าง ประสิทธิภาพของห้องสมุดค่อนข้าง จำกัด หรือเป็นไปไม่ได้เลย
ให้อ่านเอกสารที่เกี่ยวข้องกับประสิทธิภาพของแต่ละไลบรารีอย่างละเอียดแทน หากห้องสมุดไม่ได้มากับพวกเขาถามพวกเขา - ทำให้มันเป็นปัญหา หรือเรียนรู้วิธีการเปรียบเทียบซอฟต์แวร์ในวิธีที่ถูกต้อง
การมีความเข้าใจพื้นฐานเกี่ยวกับหมายเลขเวลาแฝงเป็นสิ่งสำคัญเมื่อคุณได้รับการว่าจ้างจาก บริษัท ที่ออกแบบและผลิตส่วนประกอบซอฟต์แวร์ เปรียบเทียบกับ บริษัท ที่ออกแบบและผลิตรถยนต์และส่วนประกอบทุกอย่างที่มีอยู่ภายใน - ภาษิต "สร้างล้อใหม่" (ยาง, ความดันลมยาง, ดอกยาง, ดอกยาง ฯลฯ )
บริษัท ซอฟต์แวร์ส่วนใหญ่ไม่ทำงานในระดับส่วนประกอบ - ระบบซอฟต์แวร์ที่ใช้งานได้ทั้งหมดสามารถสร้างจากการประกอบส่วนประกอบเข้าด้วยกัน บริษัท ซอฟต์แวร์เหล่านี้ไม่จำเป็นต้องมุ่งเน้นไปที่วิธีการสร้างส่วนประกอบในแง่ของเวลาแฝง พวกเขาจำเป็นต้องประเมินคุณภาพของส่วนประกอบที่เลือก
เพื่อสรุป (1) เป็นไปได้มากที่คุณไม่จำเป็นต้องรู้หมายเลขเวลาแฝง (2) เว้นแต่คุณต้องการได้รับการว่าจ้างจาก บริษัท ที่ทำส่วนประกอบซอฟต์แวร์ (ไลบรารี่) ไม่ว่าจะเพื่อการขายหรือเพื่อการใช้ภายใน (เช่นเดียวกับ บริษัท ซอฟต์แวร์ที่ใหญ่ที่สุดในโลก) (3) หากคุณต้องการตัวเลขเหล่านั้น เป็นหน้าที่ของคุณในการทำเกณฑ์มาตรฐานด้วยตัวเองในทางที่ถูกต้องทางวิทยาศาสตร์มิฉะนั้นคุณไม่ควรทำงานกับส่วนประกอบซอฟต์แวร์
ไม่มีใครอ้างว่าหมายเลขเหล่านี้ถูกต้องสำหรับฮาร์ดแวร์ใด ๆ
อย่างไรก็ตามมันมีความแม่นยำมากกว่าการเดาแบบปิดตา ซึ่งเป็นสิ่งที่หลายคนโชคไม่ดีขึ้นอยู่กับรหัสของพวกเขา
พวกเขาไม่แม่นยำอย่างสมบูรณ์และพวกเขาไม่ได้ตั้งใจจะเป็น
พวกเขา (โดยเฉพาะกับจำนวนที่น้อยกว่า) นั้นดีกว่าเพียงแค่ลำดับความสำคัญเพียงเล็กน้อย อีกประเด็นหนึ่งคือมันสามารถช่วยให้เข้าใจว่าสิ่งต่าง ๆ อยู่ใกล้กันหรือไม่ซึ่งบางครั้งผู้คนตีความผิดมากเกินกว่าที่พวกเขาเป็น สำหรับตัวอย่างที่ชัดเจนหนึ่งคนไม่กี่คนที่คิดว่าการคาดคะเนความผิดสาขาเป็นเรื่องใหญ่ มันสามารถเป็นเรื่องใหญ่ถ้ามันซ้ำแล้วซ้ำอีกเป็นจำนวนมาก แต่ก็ไม่จำเป็นต้องมีมูลค่าการเสียสละที่ใดก็ได้จำนวนมากและทุกคนเพียงที่จะได้รับการทำนายสาขาที่ดีกว่า (เช่นถ้าคุณอ่านจากหน่วยความจำหลักหรือแม้กระทั่งแคช L2 เพื่อปรับปรุงการทำนายสาขา อาจเป็นผลขาดทุนสุทธิ)
ในเวลาเดียวกันใช่คำสั่งของขนาดอาจเป็นส่วนที่มีประโยชน์ที่สุด ตัวอย่างเช่นใช้เวลานานกว่าประมาณ 100 เท่าในการเข้าถึงข้อมูลจากหน่วยความจำหลักมากกว่าจากการลงทะเบียน ใช่บนเครื่องหนึ่งอาจจะนานกว่าประมาณ 97 เท่าและอีกเครื่องอาจจะยาวกว่า 127 เท่า มันเกือบจะใกล้เคียงกับ 100 มากกว่าทั้ง 10 หรือ 1,000
โดยส่วนตัวแล้วฉันมักจะคิดว่าสิ่งเหล่านี้ส่วนใหญ่คล้ายกับหมู่เกาะในมหาสมุทรแปซิฟิก ความเร็วฮาร์ดไดรฟ์ (ตัวอย่าง) อาจเป็นเกาะฮาวาย ความเร็ว SSD นั้นเป็นหมู่เกาะฟิลิปปินส์ นี่เป็นการแสดงแผนที่ในระดับที่เล็กพอที่จะทำให้แต่ละคนดูเหมือนเป็นจุดเดียว ถ้าเราซูมเข้าที่ได้อย่างชัดเจนไม่เป็นความจริง - แต่ระยะห่างระหว่างสองโซ่เป็นหลายครั้งใหญ่กว่าระยะทางระหว่างเกาะในห่วงโซ่ทั้ง
แน่นอนว่าตัวเลขนั้นไม่ถูกต้องสำหรับทุกเครื่อง และฉันคิดว่าพวกเขาไม่ควรจะทำ พวกเขาแสดงความแตกต่างในลำดับความสำคัญระหว่างการดำเนินการหลายประเภท
คุณอาจพบลิงค์และข้อมูลที่เป็นประโยชน์เพิ่มเติมในความคิดเห็นของข้อมูลที่เชื่อมโยงของคุณ