15 คะแนน โดย xguru 2021-05-03 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • เหตุผลที่ clang/llvm บน Fedora ช้า เป็นเพราะตามนโยบายแล้วมีการลิงก์แบบไดนามิกกับแพ็กเกจอื่น

→ ความเห็นของ Linus Torvalds เกี่ยวกับเรื่องนี้

"ผมอยากให้ Fedora ไม่ทำแบบนั้น ไลบรารีที่ใช้ร่วมกันโดยทั่วไปไม่ค่อยเป็นสิ่งที่ดี

ในกรณีนี้ (clang) มันทำให้เกิดโอเวอร์เฮดมาก และเพิ่ม dependency กับความซับซ้อนที่ไม่จำเป็น

ไลบรารีที่ใช้ร่วมกันส่วนใหญ่ก็ไม่ได้ version-safe จริง ๆ ด้วย ดังนั้นแทบไม่มีข้อดีเลย"

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

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

ที่ที่ไลบรารีที่ใช้ร่วมกันมีประโยชน์จริง ๆ มีเพียง system libraries ของดิสทริบิวชันพื้นฐานที่เป็นมาตรฐานอย่างแท้จริงเท่านั้น"

2 ความคิดเห็น

 
benjamin 2021-05-03

มันทำให้นึกถึงตอนสมัยก่อนที่เขียนโปรแกรมบน Windows แล้วต้องชั่งใจว่าจะทำเป็น DLL หรือจะยัดเข้าไปใน EXE เป็น static library ดี

ช่วงแรกผมชอบใช้ shared library เพราะช่วยลดการใช้ดิสก์และหน่วยความจำ แถมยังเพิ่มอัตราการใช้แคชได้ด้วย แต่พอหลัง ๆ ไปมันจัดการยากเกินไหวและไม่สะดวกหลายอย่าง สุดท้ายก็เลยเริ่มยัดทุกอย่างเป็น static หมดเลย

หลังจากนั้นร่างกายสบายขึ้นก็จริง แต่ในใจกลับยังรู้สึกคา ๆ มาตลอด พอได้ยินพี่ Torvalds พูดแล้ว ตอนนี้ค่อยโล่งใจเสียที.....

รู้งี้ใช้ชีวิตแบบสบาย ๆ ตั้งแต่แรกก็ดีแล้ว

 
galadbran 2021-05-03

ใช่ครับ และในทางปฏิบัติ นอกจากจะช่วยให้นักพัฒนาทำงานได้สะดวกขึ้นแล้ว การลดภาระในการรองรับปัญหาที่แตกต่างกันไปตามแต่ละสภาพแวดล้อมก็เป็นอีกส่วนสำคัญมากเช่นกัน