O WC apenas lê o arquivo em blocos de bytes brutos (preferencialmente em múltiplos do tamanho natural do bloco do sistema de arquivos subjacente no qual o arquivo está localizado).
Depois, ele apenas varre o buffer, contando os caracteres de final de linha. (Também conta espaços, tabulações, feeds de formulário e outros caracteres especiais, caso você deseje 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 um tempo negligenciável em comparação com isso.
Digamos que você tenha 90 milhões de linhas com, em média, 100 caracteres por linha.
Isso significa cerca de 9.000.000.000 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 menos de 5 segundos, mesmo sem ter que recorrer ao SATA-6G e a uma unidade SSD.