bash: head tail VS tail head

In questi giorni ho dovuto selezionare delle stringhe all’interno di alcuni file in bash.

Sono sempre stato solito usare i comandi head e tail concatenati nel modo seguente:

head <nomefile> --lines <linea da selezionare> | tail 1

ma scartabellando in internet nel tentativo di trovare un comando simile mi sono trovato di fronte ad una versione diversa della mia solita pipe:

tail <nomefile> --lines +<linea da selezionare> | head 1

La domanda che mi sono posto è stata: quale delle due versioni è più efficiente?

Su Diecimila iterazioni su diecimila file diversi la media misurata con time su 50 prove è stata di 39,74 secondi a prova per la prima versioe e di 40,97 per la seconda versione.

Diecimila iterazioni del comando sullo stesso file, in modo da testare il comportamento anche con il supporto della cache ha mostrato uno scarto ancora più ridotto, 26,984 contro 27,183 secondi e quindi considererei le due versioni sostanzialmente equivalenti.

Un’altra valutazione da fare riguarda i tempi, paragonabili nel caso in cui la riga da selezionare si trovi in testa o in coda al file.
Mi sarei aspettato uno sbilanciamento a favore di una delle due soluzioni in un caso controbilanciato da una situazione contraria nel caso opposto ma così non è stato. Qualcuno ha idea del perché?

E questo, per ora, è tutto