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

OSCHINA-MIRROR/taowen-jsoniter

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Высокопроизводительная замена «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 )

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

Введение

A high-performance 100% compatible drop-in replacement of "encoding/json" Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
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