The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз языка программирования Go 1.17"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Ссылки "<<" и ">>" открывают первые и последние 10 сообщений.
. "Релиз языка программирования Go 1.17" +/
Сообщение от Брат Анон (ok), 18-Авг-21, 10:50 
> Я на чтение пробовал, а не на запись. Мне нужен был SAX
> парсер - гигабайтный файл был маленьким семплом.  Нахера там стрингбилдер?
> Строки, полученные из ХМЛ - зачем их менять? Просто Го делает
> обычные энтерпрайзные вещи крайне медленно. Не так медленно как перл или,
> наверное, петон, но медленнее опасных языков в разы.

Даже если ты просто читаешь -- ты выделяешь память. Если ты просто заполняешь поля структур строками -- ты выделяешь память. Так вот, если бы ты использовал срезы рун -- ты бы память выделял -- ровно один раз. А strings.Builder() -- довольно не дурно сам понимает -- сколько ему памяти удерживать, а сколько отдать назад сборщику мусора (т.е. нет лишнего выделения памяти). Кроме того, эта штука умеет очень быстро почти без накладных расходов преобразовывать свой буфер в байты/руны/строки. Так что, инструмент надо не только уметь держать, но ещё и пользоваться им. Так что ты бы попробовал кодогенерацию. Безопасно, достаточно быстро для безопасного парсинга, ещё и код писать не надо руками -- только описать структуры в шаблоне.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз языка программирования Go 1.17, opennews, 17-Авг-21, 09:02  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру