История изменений
Исправление Joe_Bishop, (текущая версия) :
А а в чем Ъ Go ? Чего то я пробовал парсить файл построчно стредствами python и Go - дык парс строки на Go был более тормозным чем на Python
правильно, в питоне выделение и сборщик мусора получаются пошустрее и если использовать строки, то так и будет. Правильный подход такой:
// rawReader - io.Reader
reader := bufio.NewReader(rawReader)
scanner := bufio.NewScanner(reader)
for scanner.Next() {
data := scanner.Bytes()
}
Т.е. scanner.Bytes(), а не scanner.Text() И внутри не использовать всякие bytes.Split() и т.п.: они опять будут выделять память.
Исходная версия Joe_Bishop, :
А а в чем Ъ Go ? Чего то я пробовал парсить файл построчно стредствами python и Go - дык парс строки на Go был более тормозным чем на Python
правильно, в питоне выделение и сборщик мусора получаются пошустрее и если использовать строки, то так и будет. Правильный подход такой:
// rawReader - io.Reader
reader := bufio.NewReader(rawReader)
scanner := bufio.NewScanner(reader)
for scanner.Next() {
data := scanner.Bytes()
}
Т.е. scanner.Bytes(), а не scanner.Text()
И внутри не использовать всякие bytes.Split() и т.п.: они опять будут выделять память.