1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/taowen-jsoniter

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 2.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 11:36 c8d5154

Высокопроизводительная замена «encoding/json» с 100% совместимостью

Можно также использовать thrift как JSON, используя thrift-iterator.

Бенчмарк

Рис. 1.

Исходный код: https://github.com/json-iterator/go-benchmark/blob/master/src/github.com/json-iterator/go-benchmark/benchmark_medium_payload_test.go

Результаты (easyjson требует статической генерации кода):

ns/op выделение байт количество выделений
Стандартное декодирование 35510 ns/op 1960 B/op 99 выделений/операцию
Декодирование easyjson 8499 ns/op 160 B/op 4 выделения/операцию
Декодирование jsoniter 5623 ns/op 160 B/op 3 выделения/операцию
Стандартное кодирование 2213 ns/op 712 B/op 5 выделений/операцию
Кодирование easyjson 883 ns/op 576 B/op 3 выделения/операцию
Кодирование jsoniter 837 ns/op 384 B/op 4 выделения/операцию

Всегда проводите бенчмарк со своей рабочей нагрузкой. Результат сильно зависит от входных данных.

Использование

100 % совместимость со стандартной библиотекой.

Замените

import "encoding/json"
json.Marshal(&data)

на

import jsoniter "github.com/json-iterator/go"

var json = jsoniter.ConfigCompatibleWithStandardLibrary
json.Marshal(&data)

Замените

import "encoding/json"
json.Unmarshal(input, &data)

на

import jsoniter "github.com/json-iterator/go"

var json = jsoniter.ConfigCompatibleWithStandardLibrary
json.Unmarshal(input, &data)

Дополнительная документация.

Как получить

go get github.com/json-iterator/go

Приглашаем к сотрудничеству!

Участники проекта:

Сообщайте о проблемах или отправляйте запросы на вытягивание, пишите по электронной почте taowen@gmail.com или Gitter chat.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/taowen-jsoniter.git
git@api.gitlife.ru:oschina-mirror/taowen-jsoniter.git
oschina-mirror
taowen-jsoniter
taowen-jsoniter
master