Apa perbedaan antara gconf dan dconf?

57

Saya telah membaca banyak diskusi tentang alat konfigurasi Ubuntu baru: gconf digantikan oleh dconf.

Mengapa perubahan ini dilakukan? Mengapa ada begitu banyak perdebatan tentang hal itu? Apakah terlalu sulit untuk membuat alat migrasi gconf2dconf?

nkint
sumber

Jawaban:

65

gconfbiasanya menggunakan backend XML, sementara dconfmenggunakan gumpalan biner sendiri. Dari perubahan itu sendiri Anda bisa menggambar beberapa poin:

  • Akses baca biner jauh lebih cepat daripada parsing XML
  • Menurut bagian desain dconf , login Gnome terdiri dari ribuan operasi baca dan hanya beberapa yang menulis. Untuk gconfitulah ribuan statistik, ribuan bacaan, dan ribuan parsing. dconfGumpalan biner akan menerobos melalui mereka tanpa menghambat sistem dengan sekian ribu IOP.
  • XML lebih portabel
  • XML sebagian besar dapat dibaca dan diedit oleh manusia.
  • Sistem berbasis file dapat dipisahkan dan dibagi tanpa banyak kesulitan
  • Korupsi file biner monolit bisa berarti semuanya mati. Korupsi file tunggal hanya merusak segmen itu di gconf.

Banyak argumen yang ditujukan untuk dan melawan registri Windows.

Seperti yang saya pahami, antarmuka ke pengaturan ini back-end akan sama dengan gconf: through GSettings. Ini akan memungkinkan distribusi dan pengguna untuk memilih satu dan beralih jika mereka perlu.

Oli
sumber
1
jawaban yang sangat jelas. membaca jawaban Anda (terutama 3 poin terakhir) saya pikir gconf itu bahkan jika lebih lambat lebih baik ..
nkint
21
Satu perbedaan besar lainnya adalah pengaturan pembacaan dari dconf dilakukan seluruhnya dalam proses, dengan IPC hanya terjadi untuk penulisan dan perubahan pemberitahuan. Sebaliknya, hampir setiap operasi GConf melibatkan IPC. Anda juga mungkin melebih-lebihkan manfaat GConf menggunakan XML juga: satu-satunya metode yang didukung untuk mengakses database GConf adalah melalui API GConf, dan secara langsung mengedit file XML saat gconfd sedang berjalan mungkin memiliki hasil yang tidak terduga.
James Henstridge
2
Saya pikir keuntungan utama menggunakan sesuatu berbasis teks adalah kemampuan untuk menyelamatkan bagian-bagiannya dengan editor teks apa pun ketika file rusak sebagian (tapi saya kira secara teori itu mungkin untuk menulis alat yang dapat menyelamatkan bagian dari gumpalan biner juga ?).
JanC
3
Saya pikir cara terbaik untuk menyelamatkan adalah dengan menempatkan ~ / .config di bawah kontrol versi, yang akan memungkinkan Anda untuk mengembalikan jika terjadi kesalahan. Itu akan memperbaiki perubahan konfigurasi yang disengaja dengan efek samping yang tidak terduga juga.
Jo-Erlend Schinstad
1
@ Jo-ErlendSchinstad sesuatu yang salah selalu memiliki peluang untuk mengacaukan file kontrol VCS juga.
Ruslan