จุดประสงค์ของการลอกโปรแกรมไบนารี / เอลฟ์คืออะไร?


9

ฉันแค่สงสัยว่าการลอกไฟล์โปรแกรมมีประโยชน์มากกว่าการประหยัดพื้นที่ดิสก์


มันประหยัดซีพียูหรือหน่วยความจำ?

ในระบบฝังตัวที่จัดเก็บข้อมูลแน่นจะช่วยประหยัดเนื้อที่ดิสก์
Zoredache

ประหยัดบิตในหน่วยความจำ
symcbean

คำตอบ:


8

ประโยชน์หลักสำหรับกรณีส่วนใหญ่เป็นเพียงการประหยัดพื้นที่ดิสก์ ประโยชน์รองและน่าสงสัยมากขึ้นก็คือมันยังทำให้ไบนารียากต่อการถอดแยกหรือวิศวกรรมย้อนกลับ นอกจากนี้ยังอาจลดรอยความทรงจำเพียงเล็กน้อย แต่ในหลาย ๆ กรณีมันจะเป็นการประหยัดเพียงเล็กน้อย

ความเสียหายที่ใหญ่ที่สุดคือทำให้การดีบักยากขึ้นหากคุณพบปัญหา

ในระบบที่ทันสมัยด้วยความเร็ว CPU สิ่งที่พวกเขาเป็นและปริมาณหน่วยความจำ / ดิสก์สิ่งที่พวกเขากำลังปอกไบนารีจะมีผลกระทบในทางปฏิบัติน้อยมากกับประสิทธิภาพการทำงานในทางใดทางหนึ่ง มันเกี่ยวกับการแก้ไขข้อบกพร่อง "ความสะอาด" และความชอบส่วนตัว บางคนชอบที่จะใช้ไบนารีแบบปล้นสำหรับการผลิตหรือซอฟต์แวร์ "จัดส่ง" บางคนชอบที่จะทิ้งสัญลักษณ์ไว้เสมอ "ในกรณี"

ส่วนตัวฉันชอบที่จะมีสัญลักษณ์รวมอยู่ด้วย ฉันมีสถานการณ์ที่น่าผิดหวังจริง ๆสองปีที่แอปพลิเคชั่นทางการค้าแยกกัน (หรือกระแทกอย่างอื่น) และฉันไม่สามารถระบุตำแหน่งที่เป็นปัญหาได้เนื่องจากไบนารีถูกปล้น ในกรณีอย่างน้อยสองสามรายผู้ขายจึงส่งเวอร์ชันที่ไม่มีการปล้นมาให้ฉันจนกว่าจะล้มเหลวอีกครั้งเพื่อให้เราสามารถรับข้อมูลการดีบักที่มีประโยชน์มากขึ้น หากพวกเขาจัดหาเวอร์ชั่นที่ไม่มีการปล้นในตอนแรกเราสามารถแก้ไขปัญหาได้เร็วขึ้นและมีเวลาหยุดทำงานน้อยลง


2
ตกลงเว้นแต่คุณจะอยู่ในระบบฝังตัวที่ จำกัด หน่วยความจำเช่น 32MB NSLU2 ทุกไบต์ใน RAM นับและโกน 10% จากไบนารี่เป็นเรื่องปกติในสถานการณ์เหล่านั้น ฉันได้แนบ gdb ไว้เช่นเดียวกันกับกระบวนการที่กำลังจะตายหรือตายและจะเป็นลำห้วยมากขึ้นหากไม่ใช่เพราะสัญลักษณ์ที่ไม่ได้พิมพ์ออกมา ใช้เวลาของฉันอยู่ที่ปอกสัญลักษณ์เป็นเพียงเพื่อการอนุรักษ์และการใช้งานหน่วยความจำแคชเส้นดีกว่า แต่ทดสอบหลังเพราะการเพิ่มประสิทธิภาพอาจเพิกเฉยต่อความคาดหวังของคุณ
zerolagtime

1
คุณทำให้เป็นจุดที่ดี ความคิดเห็นด้านบนของฉันใช้ได้กับสถานการณ์การใช้งานเดสก์ท็อป / แล็ปท็อปหรือเซิร์ฟเวอร์ทั่วไป แต่การลอกแบบไบนารี่มักจะชนะอย่างมากในระบบฝังตัวและการใช้งานพิเศษ
Christopher Cashell

0

คุณสามารถรวบรวมซอฟต์แวร์ที่มีสัญลักษณ์การดีบักสำหรับการทดสอบและจากนั้นก็เอาออกสำหรับการปรับใช้ หากสัญลักษณ์การดีบักของคุณเปิดเผยบางสิ่งที่คุณไม่ต้องการเปิดเผยสิ่งนี้อาจเป็นประโยชน์สำหรับคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.