Pergunta

Eu estou construindo um produto "virtualização do aplicativo".Eu uso o arquivo XML como um registro virtual. Aplicativos virtuais gerados a partir do meu software acessam o Registro Virtual XML. Corre, no entanto, corre muito lento.

Eu carrego e descarregue o XML em todas as chamadas de API do Registro, porque vários processos enfiados do pai acessar um mesmo arquivo de registro.Isso pode fazer com que o aplicativo funcione lento.

Alguém pode me deixar saber a alternativa para xml ...

Foi útil?

Solução 3

Seu texto ao tempo de transformação de árvore. Eu gerenciei isso no meu código carregando e analisando o XML em todos os processos, somente após uma gravação ocorreu em qualquer um do processo.

Outras dicas

Você pode usar um banco de dados.Seria mais rápido.Sqlite é leve e poderoso.

Se você carregá-lo na memória e operar nele de lá, seu problema não é XML. Perfil Sua aplicação para descobrir onde está gastando a maior parte do tempo. Eu acho que você provavelmente vai achar que está gastando a maior parte do tempo procurando o item que deseja acessar.

Bem, você pode, é claro, sempre usar o registro real, que é seguro e rápido ...

Caso contrário, você teria que criar um processo separado que gerencia seu registro XML virtual, mantendo a estrutura XML na memória, para que ele não tenha que ler / escrevê-lo o tempo todo.Em seguida, os processos que precisam acessar podem usar o IPC para se comunicar com o processo de registro.

Outra ideia, se os múltiplos processos não for provável atualizar o registro o tempo todo: mantenha seu registro virtual XML na memória e escrevê-lo no disco quando alterado, mas de forma assíncrona por meio de um fio de fundo.Ao acessar o registro, primeiro verifique se o arquivo foi alterado;Se não, você não precisa recarregá-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top