sort no crea un hilo a menos que sea necesario, y para archivos pequeños es demasiado sobrecarga. Ahora, desafortunadamente, sort trata una tubería como un archivo pequeño. Si desea alimentar suficientes datos a 24 subprocesos, deberá especificar ordenar para usar un búfer interno grande (la ordenación lo hace automáticamente cuando se le presentan archivos grandes). Esto es algo que deberíamos mejorar en sentido ascendente (al menos en la documentación). Así que querrás algo como:
(export LC_ALL=C; grep -E <files> | sort -S1G --parallel=24 -u | wc -m)
Tenga en cuenta que configuré LC_ALL=C para todos los procesos, ya que todos se beneficiarán con estos datos).
Por cierto, puedes monitorear los subprocesos de clasificación con algo como:
watch -n.1 ps -C sort -L -o pcpu