Quais são as diferenças entre gconf e dconf?

57

Eu li muita discussão sobre uma nova ferramenta de configuração do Ubuntu: o gconf é substituído pelo dconf.

Por que essa alteração está sendo feita? Por que há tanto debate sobre isso? É muito difícil criar uma ferramenta de migração gconf2dconf?

nkint
fonte

Respostas:

65

gconfnormalmente usa um back-end XML, enquanto dconfusa seu próprio blob binário. Somente a partir dessa mudança, você pode traçar alguns pontos:

  • O acesso de leitura binário é muito mais rápido que a análise de XML
  • De acordo com a seção de design do dconf , um login no Gnome consiste em milhares de operações de leitura e apenas algumas gravações. Para gconfisso são milhares de estatísticas, milhares de leituras e milhares de análises. dconfO blob binário do blitz atravessaria aqueles sem atrapalhar o sistema com milhares de IOPs.
  • XML é mais portátil
  • XML é amplamente legível por humanos e editável.
  • Um sistema baseado em arquivo pode ser separado e dividido em partes sem muito aborrecimento
  • A corrupção de um arquivo binário monolítico pode significar que a coisa toda morre. A corrupção de arquivo único afeta apenas esse segmento gconf.

Muitos dos argumentos são aqueles apontados a favor e contra o registro do Windows.

Pelo que entendi, a interface para esse back-end de configurações seria a mesma que gconf: through GSettings. Isso permitiria que as distribuições e os usuários escolhessem uma e trocassem, se necessário.

Oli
fonte
11
resposta muito clara. lendo sua resposta (expecially último 3 pontos) eu acho que gconf mesmo que devagar é melhor ..
nkint
21
Um outro grande ponto de diferença é que as configurações de leitura do dconf são feitas inteiramente em processo, com o IPC ocorrendo apenas para gravações e notificações de alterações. Por outro lado, quase todas as operações do GConf envolvem IPC. Você também pode estar exagerando os benefícios do GConf usando XML: o único método suportado de acessar o banco de dados do GConf é por meio da API do GConf e editar diretamente os arquivos XML enquanto o gconfd está em execução pode ter resultados inesperados.
11138 James Henstridge
2
Eu acho que a principal vantagem de usar algo baseado em texto é a capacidade de resgatar partes dele com qualquer editor de texto quando o arquivo é parcialmente corrompido (mas acho que, em teoria, é possível escrever uma ferramenta que também pode resgatar partes dos blobs binários ?).
janc
3
Eu acho que a melhor maneira de resgatar seria colocar ~ / .config sob controle de versão, o que permitiria simplesmente reverter se algo desse errado. Isso resolveria qualquer alteração intencional na configuração com efeitos colaterais imprevistos.
Jo-Erlend Schinstad
11
@ Jo-ErlendSchinstad algo dando errado sempre tem a oportunidade de estragar os arquivos de controle do VCS também.
Ruslan #