¿Cuáles son las diferencias entre gconf y dconf?

57

He leído muchas discusiones sobre una nueva herramienta de configuración de Ubuntu: gconf se reemplaza por dconf.

¿Por qué se está haciendo este cambio? ¿Por qué hay tanto debate al respecto? ¿Es demasiado difícil crear una herramienta de migración gconf2dconf?

nkint
fuente

Respuestas:

65

gconfnormalmente usa un backend XML, mientras que dconfusa su propio blob binario. A partir de ese cambio solo puede extraer algunos puntos:

  • El acceso de lectura binario es mucho más rápido que analizar XML
  • Según la sección de diseño de dconf , un inicio de sesión de Gnome consta de miles de operaciones de lectura y solo unas pocas escrituras. Para gconfeso hay miles de estadísticas, miles de lecturas y miles de análisis. dconfEl blob binario atravesaría esos sin atascar el sistema con miles de IOP.
  • XML es más portátil
  • XML es en gran medida legible y editable por humanos.
  • Un sistema basado en archivos se puede separar y dividir en porciones sin mucha molestia.
  • La corrupción de un archivo binario monolítico podría significar que todo muere. La corrupción de un solo archivo solo daña ese segmento gconf.

Muchos de los argumentos son aquellos a favor y en contra del registro de Windows.

Según tengo entendido, la interfaz en este back-end de configuración sería la misma que gconf: through GSettings. Esto permitiría que las distribuciones y los usuarios elijan uno y lo cambien si lo necesitan.

Oli
fuente
1
Respuesta muy clara. la lectura de su respuesta (EXPECIALLY último punto 3) Creo que gconf aunque más lento es mejor ..
nkint
21
Otro gran punto de diferencia es que la configuración de lectura de dconf se realiza completamente en proceso, con IPC solo para escrituras y notificaciones de cambio. En contraste, casi todas las operaciones de GConf involucran IPC. También puede estar exagerando los beneficios de GConf usando XML: el único método admitido para acceder a la base de datos de GConf es a través de la API de GConf, y la edición directa de los archivos XML mientras se ejecuta gconfd puede tener resultados inesperados.
James Henstridge
2
Creo que la principal ventaja de usar algo basado en texto es la capacidad de rescatar partes de él con cualquier editor de texto cuando el archivo se corrompe parcialmente (pero supongo que en teoría es posible escribir una herramienta que también pueda rescatar partes de los blobs binarios) ?)
JanC
3
Creo que la mejor manera de rescatar sería poner ~ / .config bajo el control de versión, lo que le permitiría simplemente retroceder si algo sale mal. Eso solucionaría cualquier cambio de configuración intencional con efectos secundarios imprevistos también.
Jo-Erlend Schinstad
1
@ Jo-ErlendSchinstad algo que sale mal siempre tiene la oportunidad de arruinar los archivos de control de VCS también.
Ruslan