更快捷式 JSON 序列操作 ffjson

码农软件 · 软件分类 · 性能测试和优化 · 2019-11-26 22:44:35

软件介绍

ffjson 为 Go 结构产生 MarshalJSON 和 UnmarshalJSON 功能。新生成的功能,减轻了进行序列化时对运行反射的依赖,速度比之前更快2至3倍。在 ffjson 不能识别涉及类型的情况下,它会回退到  encoding/json,这意味着 ffjson 是安全替代原件。通过使用 ffjson,您的 JSON 序列化只会越来越快,因为没有额外代码更改。

当你改变 struct 时,你需要重新运行 ffjson (或将它作为编译工具的一部分)。

入门:

如果 myfile.go 包含结构类型,你想要更快,假设 GOPATH 被设置为现有项目(这意味着在这个特殊的例子,如果 myfile.go 是在 MyProject 目录的一个合理值,该项应在$GOPATH/src/myproject),你可以运行:

go get -u github.com/pquerna/ffjson
ffjson myfile.go
git add myfile_ffjson.go

性能:

  • MarshalJSON is 2x to 3x faster than encoding/json.

  • UnmarshalJSON is 2x to 3x faster than encoding/json.

特点:

  • 支持解组(Unmarshal Support):从 v0.9版本之后,开始支持散集结构。

  • 直接替代原件(Drop in Replacement):因 ffjson 执行的接口已被 encoding/json 定义,用户使用的性能增强。

  • 支持所有类型:ffjson 适用于大多数 Go 的类型——有任何类型路径不支持的话,他将自动会退到 encoding/json,这意味着所有的工作都要在 box 外工作,如果不是,打开一个issue 。

  • ffjson 跳跃:如果你想 ffjson 忽略一个结构,添加 ffjson ,跳过你想忽略的部分,然后重新串连。

  • 拓展测试:包含广泛的测试套件,适合与 JSON parser 相对的模糊测试。

本文地址:https://codercto.com/soft/d/19871.html

数据库索引设计与优化

数据库索引设计与优化

【美】Tapio Lahdenmaki、【美】Michael Leach / 曹怡倩、赵建伟 / 电子工业出版社 / 2015-6 / 79.00元

《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地估算SQL 运行的CPU 时间及执行时间,帮助读者从原理上理解SQL、表及索引结构、访问方式等对关系型数据库造成的影响,并能够运用量化的方法进行判断和优化,指导关系型数据库的索引设计。 《数据库索......一起来看看 《数据库索引设计与优化》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具