Здравствуйте, Sinix, Вы писали:
Смешно! .NET и перфоманс.
Недавно у меня стояла задача — есть csv на 100ГБ, там логи одного сайта за неделю. Каждая строчка содержит идентификатор пользователя (long в 16-ричном) формате. Я задался вопросом посчитать сколько всего уникальных пользователей и как часто каждый из них встречается. Идея проста — создать Dictionary с ключом по long и value — счетчик. Так вот оно падает по OutOfMemory — стандартные коллекции не могут аллоцировать более 2ГБ памяти. Даже если у тебя всюду стоит 64 бит. Два словаря по 2 Гб можно создать, а вот один — нельзя. Оно доходит до 60000000 строчки и падает. Какой-то жалкий интерпретируемый питон версии 2.7 доходит в несколько раз дальше — до 300000000 строчки. Далее у меня на машине память кончается.
После поста Липперта на эту тему:
Ответ Липперта как-то совсем грустно стало.