หากตัวประมวลผลของคุณไม่ได้รับการสนับสนุนฮาร์ดแวร์สำหรับพารามิเตอร์ / สแต็กท้องถิ่น แต่คอมไพเลอร์พยายามที่จะใช้กองซ้อนพารามิเตอร์ทำงานอยู่แล้วและถ้ารหัสของคุณไม่จำเป็นต้องเข้าใหม่คุณอาจจะสามารถบันทึกรหัส พื้นที่โดยการจัดสรรตัวแปรอัตโนมัติแบบคงที่ ในบางกรณีต้องดำเนินการด้วยตนเอง ในกรณีอื่น ๆ คำสั่งคอมไพเลอร์สามารถทำได้ การจัดสรรด้วยตนเองที่มีประสิทธิภาพจะต้องมีการแชร์ตัวแปรระหว่างรูทีน การแชร์ดังกล่าวจะต้องทำอย่างระมัดระวังเพื่อให้แน่ใจว่าไม่มีรูทีนใช้ตัวแปรที่รูทีนอื่นพิจารณาว่าเป็น "อยู่ในขอบเขต" แต่ในบางกรณีผลประโยชน์ที่มีขนาดรหัสอาจมีความสำคัญ
โปรเซสเซอร์บางตัวมีการเรียกประชุมที่อาจทำให้รูปแบบการส่งพารามิเตอร์บางอย่างมีประสิทธิภาพมากกว่าคนอื่น ๆ ตัวอย่างเช่นในคอนโทรลเลอร์ PIC18 หากรูทีนใช้พารามิเตอร์ one-byte เดียวมันอาจถูกส่งผ่านในรีจิสเตอร์ หากใช้มากกว่านั้นพารามิเตอร์ทั้งหมดจะต้องถูกส่งผ่านใน RAM หากรูทีนจะใช้พารามิเตอร์หนึ่งไบต์สองพารามิเตอร์อาจมีประสิทธิภาพมากที่สุดในการ "ผ่าน" หนึ่งในตัวแปรส่วนกลางแล้วส่งผ่านพารามิเตอร์อื่นเป็นพารามิเตอร์ ด้วยกิจวัตรที่ใช้กันอย่างแพร่หลายการประหยัดสามารถเพิ่มขึ้น อาจมีความสำคัญอย่างยิ่งหากพารามิเตอร์ที่ส่งผ่าน global เป็นแฟล็กบิตเดียวหรือหากโดยปกติจะมีค่าเป็น 0 หรือ 255 (เนื่องจากมีคำแนะนำพิเศษในการจัดเก็บ 0 หรือ 255 ไว้ใน RAM)
บน ARM การวางตัวแปรส่วนกลางที่ใช้บ่อยในโครงสร้างอาจลดขนาดรหัสอย่างมีนัยสำคัญและปรับปรุงประสิทธิภาพ ถ้า A, B, C, D และ E เป็นตัวแปรส่วนกลางที่แยกกันดังนั้นรหัสที่ใช้ทั้งหมดจะต้องโหลดที่อยู่ของแต่ละรายการลงในการลงทะเบียน หากมีการลงทะเบียนไม่เพียงพออาจจำเป็นต้องโหลดที่อยู่เหล่านั้นซ้ำหลายครั้ง ในทางตรงกันข้ามหากพวกเขาเป็นส่วนหนึ่งของโครงสร้างทั่วโลกเดียวกัน MyStuff แล้วรหัสที่ใช้ MyStuff.A, MyStuff.B ฯลฯ สามารถโหลดที่อยู่ของ MyStuff เพียงครั้งเดียว ชนะครั้งใหญ่