ฉันเชื่อว่าจากการออกแบบของผู้ใช้งาน GC คุณไม่สามารถเพิ่มความเร็ว GC ด้วยการทำให้เป็นโมฆะได้ ผมว่าพวกเขาต้องการที่คุณไม่ต้องกังวลกับตัวเองด้วยวิธีการ / เมื่อ GC วิ่ง - รักษามันเช่นนี้แพร่หลายเป็นการป้องกันและเฝ้าดูและออกมาให้คุณ ... (คันธนูหัวลงยกกำปั้นขึ้นไปบนฟ้า) .. .
โดยส่วนตัวแล้วฉันมักจะตั้งค่าตัวแปรเป็นโมฆะเมื่อฉันทำกับพวกเขาเป็นรูปแบบของเอกสารด้วยตนเอง ฉันไม่ได้ประกาศใช้แล้วตั้งค่าเป็นโมฆะในภายหลัง - ฉันเป็นโมฆะทันทีหลังจากไม่ต้องการใช้อีกต่อไป ฉันกำลังพูดอย่างชัดเจน "ฉันทำอย่างเป็นทางการกับคุณ ... ไปแล้ว ... "
การลบล้างจำเป็นในภาษา GC'd ไหม ไม่มันมีประโยชน์สำหรับ GC หรือไม่? อาจจะใช่บางทีไม่ทราบแน่นอนเพราะการออกแบบฉันไม่สามารถควบคุมมันได้จริงและไม่ว่าคำตอบของวันนี้กับรุ่นนี้หรือการใช้งาน GC ในอนาคตอาจเปลี่ยนคำตอบที่อยู่นอกเหนือการควบคุมของฉัน บวกถ้า / เมื่อ nulling ถูกปรับออกมันน้อยกว่าความคิดเห็นแฟนซีถ้าคุณจะ
ฉันคิดว่ามันทำให้ความตั้งใจของฉันชัดเจนกว่าคนโง่ที่น่าสงสารคนต่อไปที่ตามรอยเท้าของฉันและถ้ามัน"อาจ"อาจช่วย GC ในบางครั้งมันก็คุ้มกับฉัน ส่วนใหญ่ทำให้ฉันรู้สึกเป็นระเบียบและชัดเจนและ Mongo ชอบที่จะรู้สึกเป็นระเบียบและชัดเจน :)
ฉันดูที่มันเช่นนี้: ภาษาการเขียนโปรแกรมมีอยู่เพื่อให้ผู้คนให้ความคิดเกี่ยวกับเจตนาและคอมไพเลอร์คำของานว่าจะทำอย่างไร - คอมไพเลอร์แปลงการร้องขอที่เป็นภาษาอื่น (บางครั้ง) สำหรับ CPU - ซีพียูสามารถบีบแตรภาษาที่คุณใช้การตั้งค่าแท็บความคิดเห็นการเน้นโวหารชื่อตัวแปร ฯลฯ - ซีพียูทั้งหมดเกี่ยวกับบิตสตรีมที่บอกว่าการลงทะเบียนและ opcodes และตำแหน่งหน่วยความจำของซอ หลายสิ่งที่เขียนด้วยโค้ดไม่ได้แปลงเป็นซีพียูที่ใช้ตามลำดับที่เราระบุ C, C ++, C #, Lisp, Babel, Assembler หรืออะไรก็ตามที่เป็นทฤษฏีมากกว่าความเป็นจริงที่เขียนเป็นแถลงการณ์การทำงาน สิ่งที่คุณเห็นไม่ใช่สิ่งที่คุณได้รับแม้กระทั่งในภาษาแอสเซมเบลอร์
ฉันเข้าใจความคิดของ "สิ่งที่ไม่จำเป็น" (เช่นบรรทัดว่าง) "ไม่มีอะไรนอกจากเสียงรบกวนและรหัสที่ยุ่งเหยิง" นั่นคือฉันก่อนหน้านี้ในอาชีพของฉัน; ฉันเข้าใจทั้งหมด ในช่วงหัวเลี้ยวหัวต่อนี้ฉันเอนไปหาสิ่งที่ทำให้รหัสชัดเจนขึ้น มันไม่ใช่ว่าฉันจะเพิ่ม "สัญญาณรบกวน" ถึง 50 บรรทัดในโปรแกรมของฉัน - มันเป็นไม่กี่บรรทัดที่นี่หรือที่นั่น
มีข้อยกเว้นกฎใด ๆ ในสถานการณ์ที่มีหน่วยความจำแบบระเหยหน่วยความจำแบบคงที่สภาพการแข่งขันซิงเกิลการใช้ข้อมูล "เก่า" และการเน่าทุกประเภทนั้นแตกต่าง: คุณต้องจัดการหน่วยความจำของคุณเองการล็อคและการลบล้างเป็นเรื่องเนื่องจากหน่วยความจำ GC'd Universe - หวังว่าทุกคนจะเข้าใจเรื่องนั้น เวลาที่เหลือด้วยภาษา GC'd มันเป็นเรื่องของสไตล์มากกว่าความจำเป็นหรือการเพิ่มประสิทธิภาพที่รับประกัน
ในตอนท้ายของวันให้แน่ใจว่าคุณเข้าใจสิ่งที่มีสิทธิ์สำหรับ GC และสิ่งที่ไม่; ล็อคกำจัดและลบล้างอย่างเหมาะสม; ขี้ผึ้งบนขี้ผึ้งออก; หายใจเข้าหายใจออก; และสำหรับทุกสิ่งทุกอย่างที่ฉันพูด: ถ้ามันรู้สึกดีทำ ระยะของคุณอาจแตกต่างกันไป ... ตามที่ควร ...