แถลงการณ์การวิจัยของ JM Siskind :
สตาลินเป็นคอมไพเลอร์ปรับให้เหมาะสมสำหรับโครงการที่ดำเนินการวิเคราะห์แบบคงที่ทั้งโปรแกรมและใช้ผลลัพธ์ของการวิเคราะห์เพื่อสร้างรหัสที่มีประสิทธิภาพมาก สตาลินใช้เทคนิคการวิเคราะห์แบบสถิตจำนวนมาก มันดำเนินการในรูปแบบใหม่ของการวิเคราะห์การไหลหลายเท่าที่ใช้การวิเคราะห์กระแสแบบวนซ้ำเพื่อทำการแยกการไหล: การโคลนสำเนาเฉพาะของขั้นตอนและการมอบหมายต่อไซต์ที่โทรไปยังโคลนดังกล่าว มันใช้ผลลัพธ์ของการวิเคราะห์การไหลเพื่อทำการวิเคราะห์อายุการใช้งานการวิเคราะห์การหลบหนีการวิเคราะห์ชี้ไปที่และการวิเคราะห์นามแฝง การวิเคราะห์เหล่านี้สนับสนุนรูปแบบใหม่ของการแปลงแบบปิดน้ำหนักเบาซึ่งกำจัดช่องปิดส่วนใหญ่โดยใช้เทคนิคเช่นโลกาภิวัตน์ที่แปรปรวนและการโลคัลไลซ์การบีบอัดสแตติกเชนและมักจะกำจัดการปิดส่วนใหญ่ออกจากโปรแกรม นอกจากนี้ยังใช้การวิเคราะห์ด้านบนเพื่อรองรับการจัดการพื้นที่เก็บข้อมูลตามทิศทางการไหลโดยที่การรวบรวมขยะแบบรันไทม์จะถูกแทนที่ด้วยการจัดสรรแบบคงที่และการจัดสรรคืนบนพื้นฐานต่อค่านามธรรมและต่อจุดโปรแกรม นอกจากนี้ยังทำการแปลง CPS ที่มีน้ำหนักเบาแบบไหลลื่นโดยใช้ส่วนขยายของเทคนิคที่บุกเบิกโดย Screamer เพื่อสนับสนุนการทำงานต่อเนื่องที่มีประสิทธิภาพอย่างยิ่ง ในที่สุดก็รองรับการเลือกอินไลน์การกำกับการไหลและการเป็นตัวแทนระดับต่ำเพื่อเลือกการนำไปปฏิบัติ (หรือการไม่ใช้) ของแท็กการตรวจสอบแท็กและการจัดส่งแท็กบนพื้นฐานค่าต่อนามธรรมและต่อจุดโปรแกรม สิ่งนี้จะกำจัดแท็กเวลาทำงานส่วนใหญ่การตรวจสอบแท็กการติดแท็กการลอกแท็กการแจกจ่ายแท็กการชกมวยและการเลิกทำกล่องจากโปรแกรม โดยที่การรวบรวมขยะรันไทม์ถูกแทนที่ด้วยการจัดสรรแบบสแตติกและการจัดสรรคืนบนพื้นฐานต่อค่านามธรรมและต่อโปรแกรมจุด นอกจากนี้ยังทำการแปลง CPS ที่มีน้ำหนักเบาแบบไหลลื่นโดยใช้ส่วนขยายของเทคนิคที่บุกเบิกโดย Screamer เพื่อสนับสนุนการทำงานต่อเนื่องที่มีประสิทธิภาพอย่างยิ่ง ในที่สุดก็รองรับการเลือกอินไลน์การกำกับการไหลและการเป็นตัวแทนระดับต่ำเพื่อเลือกการใช้งาน (หรือการไม่ใช้) ของแท็กการตรวจสอบแท็กและการจัดส่งแท็กบนพื้นฐานค่าต่อนามธรรมและต่อจุดโปรแกรม สิ่งนี้จะกำจัดแท็กเวลาทำงานส่วนใหญ่การตรวจสอบแท็กการติดแท็กการลอกแท็กการแจกจ่ายแท็กการชกมวยและการเลิกทำกล่องจากโปรแกรม โดยที่การรวบรวมขยะรันไทม์ถูกแทนที่ด้วยการจัดสรรแบบสแตติกและการจัดสรรคืนบนพื้นฐานต่อค่านามธรรมและต่อโปรแกรมจุด นอกจากนี้ยังทำการแปลง CPS ที่มีน้ำหนักเบาแบบไหลลื่นโดยใช้ส่วนขยายของเทคนิคที่บุกเบิกโดย Screamer เพื่อสนับสนุนการทำงานต่อเนื่องที่มีประสิทธิภาพอย่างยิ่ง ในที่สุดก็รองรับการเลือกอินไลน์การกำกับการไหลและการเป็นตัวแทนระดับต่ำเพื่อเลือกการใช้งาน (หรือการไม่ใช้) ของแท็กการตรวจสอบแท็กและการจัดส่งแท็กบนพื้นฐานค่าต่อนามธรรมและต่อจุดโปรแกรม สิ่งนี้จะกำจัดแท็กเวลาทำงานส่วนใหญ่การตรวจสอบแท็กการติดแท็กการลอกแท็กการแจกจ่ายแท็กการชกมวยและการเลิกทำกล่องจากโปรแกรม ใช้ส่วนขยายของเทคนิคที่เป็นหัวหอกใน Screamer เพื่อสนับสนุนการทำงานต่อเนื่องที่มีประสิทธิภาพอย่างยิ่ง ในที่สุดก็รองรับการเลือกอินไลน์การกำกับการไหลและการเป็นตัวแทนระดับต่ำเพื่อเลือกการใช้งาน (หรือการไม่ใช้) ของแท็กการตรวจสอบแท็กและการจัดส่งแท็กบนพื้นฐานค่าต่อนามธรรมและต่อจุดโปรแกรม สิ่งนี้จะกำจัดแท็กเวลาทำงานส่วนใหญ่การตรวจสอบแท็กการติดแท็กการลอกแท็กการแจกจ่ายแท็กการชกมวยและการเลิกทำกล่องจากโปรแกรม ใช้ส่วนขยายของเทคนิคที่เป็นหัวหอกใน Screamer เพื่อสนับสนุนการทำงานต่อเนื่องที่มีประสิทธิภาพอย่างยิ่ง ในที่สุดก็รองรับการเลือกอินไลน์การกำกับการไหลและการเป็นตัวแทนระดับต่ำเพื่อเลือกการใช้งาน (หรือการไม่ใช้) ของแท็กการตรวจสอบแท็กและการจัดส่งแท็กบนพื้นฐานค่าต่อนามธรรมและต่อจุดโปรแกรม สิ่งนี้จะกำจัดแท็กเวลาทำงานส่วนใหญ่การตรวจสอบแท็กการติดแท็กการลอกแท็กการแจกจ่ายแท็กการชกมวยและการเลิกทำกล่องจากโปรแกรมการวิเคราะห์และปรับให้เหมาะสมเหล่านี้ทำให้สตาลินสามารถสร้างโค้ดที่มีประสิทธิภาพสูงสุดซึ่งมีประสิทธิภาพสูงกว่าคอมไพเลอร์ Scheme อื่น ๆ ทั้งหมดตามปัจจัยที่มีค่าระหว่างสองถึงหนึ่งร้อยโดยเฉพาะอย่างยิ่งสำหรับรหัสที่เน้นตัวเลข สตาลินมักจะสร้างรหัสที่มีประสิทธิภาพสูงกว่าการเขียนด้วยลายมือ c และรหัส Fortran
ผมสามารถที่จะพบต่อไปนี้กระดาษที่น่าสนใจมากเกี่ยวกับการปิด / สายงานการดำเนินงาน: การไหลกำกับน้ำหนักเบาปิดการแปลง ฉันได้ส่งอีเมลถึงผู้เขียนเพื่อถามเกี่ยวกับเอกสารในหัวข้ออื่น ๆ ซึ่งกล่าวถึงว่าจะเขียนในกระดาษปิดการแปลง:
Siskind, JM 2000a การแปลง CPS ที่มีน้ำหนักเบาตามทิศทางการไหล ในการเตรียมการ
Siskind, JM 2000b ความแปรปรวนแบบไหลตรง ในการเตรียมการ
Siskind, JM 2000c การเลือกการนำเสนอแบบไหลลื่น ในการเตรียมการ
Siskind, JM 2000d การจัดการพื้นที่เก็บข้อมูลแบบไหลลื่น ในการเตรียมการ
น่าเสียดายที่เขาไม่เคยไปไหนมาเขียนบทความเหล่านั้น คำถามของฉันคือคุณ: มีเอกสารอื่นหรือเอกสารที่เกี่ยวข้องซึ่งครอบคลุมหัวข้อเหล่านี้หรือไม่? ฉันสนใจมากที่จะเรียนรู้ว่าสตาลิน (หรือคอมไพเลอร์อื่น ๆ ) สามารถรวบรวมภาษาระดับสูงได้เช่นโครงการที่เก็บขยะพิมพ์แบบไดนามิกรองรับฟังก์ชั่นชั้นหนึ่งและแม้กระทั่งการเรียนต่อเนื่องชั้นหนึ่ง . แม้ว่ากระดาษที่ใช้ในการวิเคราะห์โฟลว์นั้นมีอยู่มากมาย แต่เอกสารที่ใช้ผลการวิเคราะห์ดังกล่าวเพื่อเพิ่มประสิทธิภาพดังกล่าวข้างต้น