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

การเข้าใจส่วนแสดงหน่วยความจําแบบรวม

การใช้หน่วยความจําในอัลกอริทึมในการเรียกข้อมูลกลับนั้น เกี่ยวข้องกับส่วนประกอบสองอย่างหลัก: สแต็กหน่วยความจําและหน่วยความจําข้อมูล สแต็กเก็บข้อมูลข้อมูลเกี่ยวกับฟังก์ชันที่ทํางานอยู่แต่ละตัว รวมถึงตัวแปรภายใน และที่อยู่ต่าง ๆ ข้อมูลหน่วยความจําเก็บตัวแปรต่าง ๆ ที่ใช้อยู่ และตัวแปรทั่วโลก

การคํานวณการใช้หน่วยความจําสแต็ก

ค่าหน่วยความจําสแต็กที่ถูกใช้ซ้ํากันนั้น ขึ้นอยู่ค่าความลึกสูงสุดของค่าซ้ําที่ซ้ํากัน และขนาดของฟังก์ชันแต่ละค่า ที่เรียกกลับมาเป็นเฟรมสแต็ก สูตรคือ:

[FLT: 0] maximum Stack chool = recursion value [xx] ขนาดของแต่ละเฟรม

เพื่อ จะ รู้ ขนาด ของ สแต็ก เฟรม แต่ ละ กรอบ ให้ พิจารณา ตัวแปร ใน ท้อง ถิ่น, บันทึก ชื่อ ที่ อยู่, และ ส่ง คืน ที่ อยู่.

ปรับค่าความจํา

การใช้หน่วยความจําแบบคงที่และแบบทั่วไปนั้น ขึ้นอยู่กับตัวแปรที่ใช้ตลอดกระบวนการการวนซ้ํา ตัวแปรเหล่านี้จะถูกรวมเข้ากับค่าและคงค่าไว้ชั่วคราวสําหรับระยะเวลาของโปรแกรม การใช้หน่วยความจํารวมของข้อมูล คือผลรวมของตัวแปรดังกล่าวทั้งหมด

ตัว อย่าง การ คํานวณ ที่ ใช้ ได้ จริง

สมมุติว่าฟังก์ชันที่ซ้ําเติมมีความลึกสูงสุด 10 สาย และแต่ละเฟรมของตําแหน่งตําแหน่งตําแหน่ง สแต็กของแต่ละสายมี 64 หน่วย. ค่าหน่วยความจําสแต็กที่ใช้คือ:

10 x 64 bytes = 640 bytes

ถ้าฟังก์ชันใช้ตัวแปรทั่วโลก 200 ไบต์ การใช้หน่วยความจํารวมทั้งสแต็กและหน่วยความจํา ให้มุมมองครอบคลุมของการบริโภคทรัพยากร