К ВОПРОСУ ПАРСИНГА БОЛЬШИХ ОБЪЕМОВ ДАННЫХ ФОРМАТА JSON СРЕДСТВАМИ ЯЗЫКА GO

Авторы

  • Д.О. Авельцов Институт машиностроения и автоматизации Национальной академии наук Кыргызской Республики

Ключевые слова:

json, go, parsing, go-benchmark, jstream, encoding/json, simdjson-go

Аннотация

В работе проведено тестирование производительности популярных библиотек, написанных на языке go, таких как: jstream, simdjson-go и стандартной библиотеки encoding/json. Рассмотрены ключевые особенности работы перечисленных библиотек посредством анализа исходного кода и приведены примеры использования данных библиотек. Тестирование производительности проводилось при помощи стандартных инструментов языка go из пакета testing. Основное внимание уделяется работе с файлами большого размера, от 1GB. Результаты тестирования говорят о том, что основная проблема популярных готовых решений для парсинга формата json заключается в работе с данными посредством ОЗУ вместо использования чтения из потока, что очевидно дает прирост в производительности, но не подходит для работы с большими данными.

Библиографические ссылки

Adam Freeman. Pro Go. The Complete Guide to Programming Reliable and Efficient Software Using Golang. ApressBerkeley. 2022 (1076 c)

Tom Marrs. JSON at Work: Practical Data Integration for the Web. O'ReillyMedia, Inc. 2016 (376 с)

https://pkg.go.dev/encoding/json (дата обращения 25.08.2021)

https://pkg.go.dev/io (дата обращения 28.08.2021)

https://github.com/bcicen/jstream (дата обращения 28.08.2021)

https://github.com/minio/simdjson-go (дата обращения 29.08.2021)

Geoff Langdale, Daniel Lemire. Parsing Gigabytes of JSON per Second / researchgate.com. 2019 (C. 3–5)

https://gobyexample.com/channels (дата обращения 29.08.2021)

http://ndjson.org/ (дата обращения 29.08.2021)

Толпинская, Н.Б., Сычев, А.М. Алгоритмы обработки потоковых данных. / Н.Б.Толпинская, А.М.Сычев // Проблемы автоматики и управления. – 2019 – №1(36). – С. 110–117. – EDN ZXPAXD.

Загрузки

Опубликован

01.12.2022

Выпуск

Раздел

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ И ОБРАБОТКА ИНФОРМАЦИИ

Категории