¿Hay una mejor manera de determinar la cantidad de líneas en un archivo txt grande (1-2 GB)? [duplicar]

Esta pregunta ya tiene una respuesta aquí:

Determinar el número de líneas dentro de un archivo de texto 10 respuestas

Estoy tratando de contar todas las líneas en un archivo txt, estoy usando elStreamReader:

public int countLines(string path)
{
    var watch = System.Diagnostics.Stopwatch.StartNew();
    int nlines=0;
    string line;
    StreamReader file = new StreamReader(path);
    while ((line = file.ReadLine()) != null)
    {
        nlines++;
    }
    watch.Stop();
    var elapsedMs = watch.ElapsedMilliseconds;
    Console.Write(elapsedMs)
    // elapsedMs = 3520  --- Tested with a 1.2 Mill txt
    return nlines;
}

¿Existe una forma más eficiente de contar el número de líneas?

Respuestas a la pregunta(2)

Su respuesta a la pregunta