กลับไปหน้าบทความ

อ่าน 1 นาที

จุดเด่น (การเขียนโปรแกรมคอมพิวเตอร์)

ใน วิทยาการคอมพิวเตอร์ จุด ร้อน (hot spot) โดยทั่วไปหมายถึงบริเวณใน โปรแกรมคอมพิวเตอร์ ที่มีคำสั่งถูกประมวลผลในสัดส่วนสูง หรือเป็นบริเวณที่ใช้เวลามากที่สุดในการประมวลผลโปรแกรม...

จุดเด่น (การเขียนโปรแกรมคอมพิวเตอร์)

ในวิทยาการคอมพิวเตอร์จุดร้อน (hot spot)โดยทั่วไปหมายถึงบริเวณในโปรแกรมคอมพิวเตอร์ที่มีคำสั่งถูกประมวลผลในสัดส่วนสูง หรือเป็นบริเวณที่ใช้เวลามากที่สุดในการประมวลผลโปรแกรม (ซึ่งไม่จำเป็นต้องเหมือนกันเสมอไป เนื่องจากบางคำสั่งอาจประมวลผลเร็วกว่าคำสั่งอื่น)

หากโปรแกรมถูกขัดจังหวะแบบสุ่มตัวนับโปรแกรม ( ตัวชี้ไปยังคำสั่งถัดไปที่จะถูกประมวลผล) มักจะพบว่ามีที่อยู่ของคำสั่งภายในช่วงที่กำหนด ซึ่งอาจบ่งชี้ว่าโค้ดนั้นต้องการการปรับปรุงประสิทธิภาพ หรือแม้กระทั่งบ่งชี้ว่ามีลูปCPU ที่ "แน่น" อยู่ เทคนิคอย่างง่ายนี้สามารถตรวจจับคำสั่งที่ใช้งานบ่อยได้ แม้ว่าวิธีการที่ซับซ้อนกว่า เช่นโปรแกรมจำลองชุดคำสั่งหรือเครื่องมือวิเคราะห์ประสิทธิภาพจะทำได้อย่างแม่นยำและสม่ำเสมอกว่าก็ตาม

ประวัติการตรวจจับจุดร้อน

นักวิทยาศาสตร์คอมพิวเตอร์Donald Knuthได้บรรยายถึงการพบเจอครั้งแรกกับสิ่งที่เขาเรียกว่า " jump trace"ในการให้สัมภาษณ์กับDr. Dobb's Journalในปี 1996 โดยกล่าวว่า:

ในช่วงทศวรรษที่ 1960 มีคนคิดค้นแนวคิดของ 'jump trace' ขึ้นมา นี่เป็นวิธีในการเปลี่ยนแปลงภาษาเครื่องของโปรแกรมเพื่อให้เปลี่ยนคำสั่งสาขาหรือคำสั่งกระโดด ถัดไป เพื่อรักษาการควบคุมไว้ ทำให้คุณสามารถเรียกใช้โปรแกรมด้วยความเร็วที่ค่อนข้างสูงแทนที่จะตีความคำสั่งแต่ละคำสั่งทีละคำสั่งและบันทึกในไฟล์ว่าโปรแกรมเบี่ยงเบนจากลำดับตรงจุดใด การประมวลผลไฟล์นี้จะช่วยให้คุณทราบว่าโปรแกรมใช้เวลาส่วนใหญ่ไปกับอะไร ดังนั้นในวันแรกที่เราใช้งานซอฟต์แวร์นี้ เราได้นำไปใช้กับคอมไพเลอร์Fortran ของเรา ซึ่งจัดหาโดย (ผมคิดว่าในสมัยนั้นคือControl Data Corporation ) เราพบว่ามันใช้เวลาถึง 87 เปอร์เซ็นต์ในการอ่านความคิดเห็น ! เหตุผลก็คือมันกำลังแปลจากระบบรหัสหนึ่งไปยังอีกระบบหนึ่งแล้วไปยังอีกระบบหนึ่ง[ 1 ]

การวนซ้ำ

ตัวอย่างข้างต้นแสดงให้เห็นว่า การตรวจจับจุดร้อนที่มีประสิทธิภาพมักเป็น กระบวนการ ที่ต้องทำซ้ำ หลายครั้ง และอาจเป็นกระบวนการที่ควรทำอยู่เสมอ (แทนที่จะยอมรับว่าโปรแกรมทำงานได้ในระดับที่เหมาะสม) หลังจากกำจัดกระบวนการที่ไม่จำเป็นทั้งหมด (เช่น การลบความคิดเห็นที่ฝังอยู่ทั้งหมด) การวิเคราะห์ขณะทำงานครั้งใหม่จะตรวจจับจุดร้อน "ที่แท้จริง" ในการแปลได้อย่างแม่นยำยิ่งขึ้น หากไม่มีการตรวจจับจุดร้อนเลย โปรแกรมอาจใช้ทรัพยากรมากกว่าที่จำเป็นอย่างมาก อาจเป็นเวลาหลายปีบนเครื่องหลายเครื่อง โดยที่ไม่มีใครตระหนักถึงเรื่องนี้เลย

การจำลองชุดคำสั่งเพื่อใช้เป็นตัวตรวจจับจุดร้อน

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

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Hot_spot_(computer_programming)&oldid=1195379938 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ จุดเด่น (การเขียนโปรแกรมคอมพิวเตอร์)

ใน วิทยาการคอมพิวเตอร์ จุด ร้อน (hot spot) โดยทั่วไปหมายถึงบริเวณใน โปรแกรมคอมพิวเตอร์ ที่มีคำสั่งถูกประมวลผลในสัดส่วนสูง หรือเป็นบริเวณที่ใช้เวลามากที่สุดในการประมวลผลโปรแกรม...

ประวัติการตรวจจับจุดร้อน

นัก วิทยาศาสตร์คอมพิวเตอร์ Donald Knuth ได้บรรยายถึงการพบเจอครั้งแรกกับสิ่งที่เขาเรียกว่า " jump trace" ในการให้สัมภาษณ์กับ Dr. Dobb's Journal ในปี 1996 โดยกล่าวว่า:

การวนซ้ำ

ตัวอย่างข้างต้นแสดงให้เห็นว่า การตรวจจับจุดร้อนที่มีประสิทธิภาพมักเป็น กระบวนการ ที่ต้องทำซ้ำ หลายครั้ง และอาจเป็นกระบวนการที่ควรทำอยู่เสมอ (แทนที่จะยอมรับว่าโปรแกรมทำงานได้ในระดับที่เหมาะสม) หลังจากกำจัดกระบวนการที่ไม่จำเป็นทั้งหมด (เช่น...

การจำลองชุดคำสั่งเพื่อใช้เป็นตัวตรวจจับจุดร้อน

โปรแกรม จำลองชุดคำสั่ง สามารถใช้ในการนับจำนวนครั้งที่คำสั่งเฉพาะถูกประมวลผล และต่อมาจะแสดงผลบนหน้าจอ แสดงรายการโปรแกรมที่พิมพ์ออกมา (พร้อมจำนวนและ/หรือเปอร์เซ็นต์ของ ความยาวเส้นทางคำสั่ง ทั้งหมด ) หรือรายงานแยกต่างหาก...