-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A ferramenta faz múltiplas operações de I/O desnecessárias #29
Comments
Isso possivelmente acontece em outros comandos executados pelo |
não temos na API de Java algum método que já faça essa cópia de forma mais eficiente? e uma forma de pegar o arquivo em um commit, ao invés de dar cat nele? |
Vou investigar essas otimizações. |
Sobre isso, eu percebi que um dos casos que são feitas muitas operações de IO, são quando são escritas a linhas da resposta. Vocês acham que seriam um boa abordagem adicionar um tipo genérico ou uma classe abstrata pra representar um estrutura de dados que poderia ser montada durante a análise? |
Um vantagem dessa abordagem, seria que deixaria mais fácil utilizar o framework através de código, podendo ser útil pra análises futuras, além de diminuir a quantidade de operações de IO, que poderiam ser reduzidas a um escrita no fim da análise. |
Isso não é prioridade agora.
Quando for, uma opção não seria simplesmente usar uma estrutura padrão (essencialmente um buffer string) que escreve para o arquivo em blocos de um determinado tamanho?
Essa solução não seria satisfatória para praticamente todos os usuários?
…On 3 Jul 2019 18:03 +0200, Rafael Mota Alves ***@***.***>, wrote:
@pauloborba @jvcoutinho
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Talvez, mas não daria a possibilidade de criar estruturas de dados mais complexas, como uma árvore por exemplo, que poderia ser lida por código. Mas o problema de IO resolveria sim |
melhor então, por enquanto, só atacar o problema de IO. |
Sempre que o programa executa
copyFile
, ele faz uma operação de I/O (escrita no arquivo) para cada linha da saída do comandogit cat-file
, que retorna o conteúdo de um arquivo em um commit. Isso torna o processo bem lento.miningframework/src/main/util/FileManager.groovy
Lines 26 to 34 in 391a61b
Eu proponho colocar toda a saída na memória (em uma string, por exemplo), e só realizar a escrita no arquivo no fim do processo.
The text was updated successfully, but these errors were encountered: