profiling velocidade de leitura de arquivos via / dev / null?

0

Estou analisando a velocidade na qual um determinado programa do Linux lê um determinado arquivo de entrada usando uma quantidade diferente de threads fazendo isso:

time ~/src/myprogram -t $t inputfile 1>/dev/null 2>/dev/null

Parece que não importa o número de threads que eu uso, começando de 12 até 1, a hora é exatamente a mesma. Existe alguma outra maneira de testar isso para garantir que ele não seja influenciado pela velocidade com que os dados são enviados para /dev/null ?

    
por 719016 28.05.2013 / 14:13

1 resposta

1

O kernel armazena em cache a leitura de E / S dos dispositivos de bloco recebidos na RAM livre. A menos que o seu arquivo seja muito grande, provavelmente você está atingindo os dados armazenados em cache na RAM e não está realmente causando nenhuma E / S.

Uma pesquisa e leitura muito rápidas esta resposta de estouro de pilha revela que isso pode acontecer:

sync && echo 1 > /proc/sys/vm/drop_caches

então eu tentaria emitir esses comandos antes do comando que executa a E / S.

    
por 28.05.2013 / 17:39