ความแตกต่างระหว่าง gconf และ dconf คืออะไร?


57

ฉันได้อ่านการสนทนามากมายเกี่ยวกับเครื่องมือตั้งค่าใหม่ของ Ubuntu: gconf ถูกแทนที่ด้วย dconf

ทำไมการเปลี่ยนแปลงนี้จึงเกิดขึ้น ทำไมถึงมีการถกเถียงกันอย่างมากมายเกี่ยวกับเรื่องนี้? มันยากเกินไปที่จะสร้างเครื่องมือย้ายข้อมูล gconf2dconf หรือไม่

คำตอบ:


65

gconfโดยทั่วไปจะใช้แบ็กเอนด์ XML ในขณะที่dconfใช้บล็อบไบนารีของมันเอง จากการเปลี่ยนแปลงเพียงอย่างเดียวคุณสามารถวาดบางประเด็น:

  • การเข้าถึงแบบอ่านไบนารีคือไกลได้เร็วกว่าการแยกวิเคราะห์ XML
  • ตามส่วนการออกแบบของ dconf การเข้าสู่ระบบ Gnome ประกอบด้วยการอ่านหลายพันครั้งและการเขียนเพียงไม่กี่ครั้ง สำหรับgconfสถิตินั้นนับพันการอ่านนับพันและการแยกวิเคราะห์เป็นพัน dconfหยดของไบนารีจะกระหน่ำผ่านสิ่งเหล่านั้นโดยไม่ทำให้ระบบล้มเหลวด้วยจำนวน IOP ที่มากมาย
  • XML เป็นแบบพกพามากขึ้น
  • XML นั้นอ่านได้ง่ายและสามารถแก้ไขได้
  • ระบบไฟล์สามารถแยกและแบ่งส่วนได้โดยไม่ยุ่งยาก
  • ความเสียหายของไฟล์ไบนารี monolith อาจหมายถึงสิ่งทั้งหมดตาย ความเสียหายของไฟล์เดี่ยวเจ็บเพียงส่วนgconfนั้น

อาร์กิวเมนต์จำนวนมากเป็นสิ่งที่ปรับระดับและต่อต้านรีจิสทรีของ Windows

ตามที่ผมเข้าใจมันลงบนอินเตอร์เฟซการตั้งค่านี้ back-end จะเป็นเช่นเดียวกับgconf: GSettingsผ่าน การทำเช่นนี้จะช่วยให้การกระจายและผู้ใช้สามารถเลือกและเปลี่ยนได้หากต้องการ


1
คำตอบที่ชัดเจนมาก อ่านคำตอบของคุณ (โดยเฉพาะช่วง 3 จุด) ฉันคิดว่า GConf แม้ว่าช้าลงจะดีกว่า ..
nkint

21
จุดแตกต่างที่สำคัญอีกข้อหนึ่งคือการตั้งค่าการอ่านจาก dconf เสร็จสมบูรณ์แล้วโดย IPC จะเกิดขึ้นสำหรับการเขียนและการแจ้งเตือนเท่านั้น ในทางตรงกันข้ามการดำเนินการ GConf เกือบทั้งหมดเกี่ยวข้องกับ IPC คุณอาจใช้ประโยชน์จาก GConf เกินจริงโดยใช้ XML เช่นกัน: วิธีเดียวที่ได้รับการสนับสนุนในการเข้าถึงฐานข้อมูล GConf คือผ่าน GConf API และการแก้ไขไฟล์ XML โดยตรงในขณะที่ gconfd กำลังทำงานอยู่อาจมีผลลัพธ์ที่ไม่คาดคิด
James Henstridge

2
ฉันคิดว่าข้อได้เปรียบหลักของการใช้ข้อความเป็นหลักคือความสามารถในการช่วยเหลือส่วนต่างๆของมันด้วยโปรแกรมแก้ไขข้อความใด ๆ เมื่อไฟล์เกิดความเสียหายบางส่วน (แต่ฉันเดาตามทฤษฎีแล้วว่ามันเป็นไปได้ที่จะเขียนเครื่องมือที่สามารถช่วยเหลือส่วนต่างๆ ?)
JanC

3
ฉันคิดว่าวิธีที่ดีที่สุดในการช่วยเหลือคือการวาง ~ / .config ภายใต้การควบคุมเวอร์ชันซึ่งจะช่วยให้คุณสามารถย้อนกลับได้ถ้ามีอะไรผิดปกติ ที่จะแก้ไขการเปลี่ยนแปลงการกำหนดค่าโดยเจตนาด้วยผลข้างเคียงที่ไม่คาดคิดเช่นกัน
Jo-Erlend Schinstad

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