170 похожих чатов

Всем привет, в рамках обучения решил сделать задачку: Есть текстовый файл

+-10гигов, необходимо максимально эффективно по памяти и быстро найти сколько раз повторяется определенное слово, набросал такой код https://play.golang.org/p/fXAEiqHlgOj

Проблема в том, что, когда я построчно считываю в отдельной рутине файл и отправляю слайс байт по каналу дальше, у меня иногда обрезается начало строки, а иногда конец (по 1 символу). Причем, чем меньше весит файл, тем реже такой эффект проявляется. Если же я читаю в мейне и не отправляя по каналу считаю количество дубликатов, то строки не обрезаются и все корректно работает.

Есть у кого какие идеи что это может быть?

7 ответов

6 просмотров

https://golang.org/pkg/bufio/#Reader.ReadLine ReadLine is a low-level line-reading primitive. Most callers should use ReadBytes('\n') or ReadString('\n') instead or use a Scanner. используйте https://golang.org/pkg/bufio/#Scanner scanner.Text()

Sergey- Автор вопроса
Sergey
Пробовал, тоже самое.

проблема плавает или на определенном файле постоянная?

Sergey- Автор вопроса
Andrey Burov
проблема плавает или на определенном файле постоян...

Плавает. Обычные txt, созданные через блокнот на маке.

go func(wg *sync.WaitGroup) { тут это не нужно

Sergey- Автор вопроса
Andrey Burov
go func(wg *sync.WaitGroup) { тут это не нужно

Почему не нужно? Иначе читающая сторона зависнет с ожиданием новых значений.

Похожие вопросы

Обсуждают сегодня

кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Hi, I have a partitioned table in Postgres that has a composite primary key on 3 columns out of which two columns are partition key columns. Now I have a requirement to add a ...
Sujith
1
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Карта сайта