Eu não sabia disso. Mas ordenar a leitura de arquivos pela ordem data de criação aumenta consideravelmente a performance de leitura.
Tinha que ler +800.000 arquivos json. Fiz apenas um os.listdir() e comecei a iterar. Com apenas 70 arquivos/segundo, achei a performance bem estranha. Então pensei ler os arquivos pela ordem que foram gravados. BOOM!!
Com apenas uma linha de código, passamos de +3hrs de esperando, passou para apenas 3 minutos.
A linha: file_paths.sort()
Acredito que isso se dá pela forma facilitada que meu HDD vai ter em achar os arquivos para iniciar e leitura, uma vez que serão sequenciais. O que acham? Faz sentido?
ps: o nome do arquivo corresponde à sua data_hora de criação. Isto é: 20222712_235915108836.json
Tinha que ler +800.000 arquivos json. Fiz apenas um os.listdir() e comecei a iterar. Com apenas 70 arquivos/segundo, achei a performance bem estranha. Então pensei ler os arquivos pela ordem que foram gravados. BOOM!!
Com apenas uma linha de código, passamos de +3hrs de esperando, passou para apenas 3 minutos.
A linha: file_paths.sort()
Acredito que isso se dá pela forma facilitada que meu HDD vai ter em achar os arquivos para iniciar e leitura, uma vez que serão sequenciais. O que acham? Faz sentido?
ps: o nome do arquivo corresponde à sua data_hora de criação. Isto é: 20222712_235915108836.json