Он принимает ввод на стандартный ввод и выводит количество строк.

алсяunxutils' wc -l но он потерпел крах для файлов 1GB. Я пробовал этот код C #

long count = 0;
using (StreamReader r = new StreamReader(f))
{
    string line;
    while ((line = r.ReadLine()) != null)
    {
        count++;
    }
}

return count;

Он читает файл 500 МБ за 4 секунды

var size = 256;
var bytes = new byte[size];
var count = 0;
byte query = Convert.ToByte('\n');
using (var stream = File.OpenRead(file))
{
    int many;
    do
    {
        many = stream.Read(bytes, 0, size);
        count += bytes.Where(a => a == query).Count();                    
    } while (many == size);
}

Читает за 10 секунд

var count = 0;
int query = (int)Convert.ToByte('\n');
using (var stream = File.OpenRead(file))
{
    int current;
    do
    {
        current = stream.ReadByte();
        if (current == query)
        {
            count++;
            continue;
        }
    } while (current!= -1);
}

Занимает 7 секунд

Что-нибудь быстрее, я еще не пробовал?

Ответы на вопрос(6)

Ваш ответ на вопрос