O WC apenas lê o arquivo em blocos de bytes brutos (preferível em múltiplos do tamanho de bloco natural do sistema de arquivos subjacente no qual o arquivo está localizado).
Em seguida, apenas varre o buffer contando os caracteres de final de linha.
(Ele também conta espaços, tabulações, feeds de formulários e outros caracteres especiais, apenas no caso de você desejar outras informações além da saída -l.)
A leitura do disco é a parte cara em termos de velocidade. A varredura do buffer leva tempo negligente comparado a isso.
Digamos que você tenha 90 milhões de linhas com, em média, 100 caracteres por linha.
Isso é em torno de 9.000.000.000 de caracteres ou cerca de 860 MB.
Um PC decente com uma unidade SATA-3Gb / s fará isso em menos de 10 segundos. Mesmo em um sistema de arquivos relativamente lento, com alguma outra atividade acontecendo ao mesmo tempo.
Uma máquina rápida com algum ajuste de desempenho e um sistema de arquivos otimizado pode fazê-lo em 5 segundos, mesmo sem ter que recorrer ao SATA-6G e a uma unidade SSD.