2
เหตุใดจึงมีการมอบหมายให้ใช้แบบคงที่เดียวมากกว่ารูปแบบการส่งผ่านต่อเนื่องในคอมไพเลอร์ที่ใช้ในอุตสาหกรรมจำนวนมาก?
ตามหน้า Wikipedia เกี่ยวกับการกำหนดค่าคงที่เดียว (SSA) , SSA ถูกใช้โดยโครงการขนาดใหญ่และเป็นที่รู้จักเช่น LLVM, GCC, MSVC, Mono, Dalvik, SpiderMonkey และ V8 ในขณะที่หน้าโครงการที่ใช้รูปแบบการส่งต่อ (CPS)ขาดการเปรียบเทียบเล็กน้อย ฉันมีความเห็นว่า CPS เป็นที่ต้องการโดยผู้รวบรวมและล่ามที่ใช้ภาษาที่ใช้งานได้เป็นหลักโดยเฉพาะ Haskell และ Scheme ดูเหมือนจะมีความโน้มเอียงอย่างมากต่อรูปแบบ CPS เนื่องจากข้อ จำกัด เรื่องการกลายพันธุ์หรือความต้องการการสนับสนุนต่อเนื่องชั้นหนึ่ง Smalltalk นั้นอาจจะต้องการสิ่งนี้เช่นกัน) วรรณกรรมสำคัญที่ฉันพบว่าใช้ CPS ดูเหมือนว่าจะเป็นงานที่เกี่ยวกับ Scheme หรือเกี่ยวข้องกับ Scheme ในบางประเด็น มีเหตุผลใดที่ทำให้ SSA ถูกนำไปใช้ในอุตสาหกรรมนอกเหนือจากแรงผลักดันในการยอมรับ? SSA และ CPS มีความสัมพันธ์ใกล้ชิด นั่นหมายความว่ามันจะง่ายต่อการระบุในแง่อื่น แต่บางทีการแสดงข้อมูลจะมีขนาดเล็กลงหรือมีประสิทธิภาพน้อยกว่าสำหรับ CPS