A classificação por mesclagem do Linux é *mais lenta* que a classificação completa?

A classificação por mesclagem do Linux é *mais lenta* que a classificação completa?

Estou usando o Linux merge sort (sort -m) para classificar um grande grupo de arquivos pré-classificados. Eu estava assumindo que a classificação por mesclagem seria consideravelmente mais rápida do que uma classificação completa nos dados não classificados, mas não é isso que estou vendo. Por exemplo, se eu fizer uma classificação completa em 1.000 arquivos contendo 10.000 linhas de dados não classificados:

/bin/time -o ./full_sort.time -v sort --parallel 8 -k1,1g ./data/unsorted/f* > /dev/null

Eu vejo os seguintes horários:

User time (seconds): 104.70
System time (seconds): 0.71
Percent of CPU this job got: 440%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:23.90

Agora, se eu pré-classificar os dados e executar exatamente a mesma classificação ao invocar a opção -m:

/bin/time -o ./merge_sort.time -v sort --parallel 8 -k1,1g -m ./data/presorted/f* > /dev/null

Eu vejo estes tempos:

User time (seconds): 59.34
System time (seconds): 2.15
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:01.60

O tempo de parede da classificação por mesclagem é na verdadeMais devagardo que o tipo completo! Novamente, eu esperava que a classificação por mesclagem fosse consideravelmente mais rápida, já que cada arquivo de entrada no conjunto de dados é pré-classificado e apenas a etapa de mesclagem ainda precisa ser executada. Deve haver algo que estou perdendo. Alguém pode esclarecer o que estou fazendo de errado?

Obrigado, JCS

informação relacionada