1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Easyjson快速JSON序列化

        聯(lián)合創(chuàng)作 · 2023-09-30 21:42

        Easyjson用于序列化JSON數(shù)據(jù),采用Go語(yǔ)言編寫(xiě),而不是通過(guò)使用反射生成編組代碼。一個(gè)庫(kù)的目的之一是使所生成的代碼足夠簡(jiǎn)單,使得它可以容易地優(yōu)化或固定。另一個(gè)目標(biāo)是為用戶提供不可定制的“encoding/json”,如產(chǎn)生snake_case名稱或啟用默認(rèn)“omitempty“生成代碼。

        用法:

        go get github.com/mailru/easyjson/...
        easyjson -all <file>.go

        這將利用編組/解組方法結(jié)構(gòu)生成<file>_easyjson.go

        限制:

        • The library is at an early stage, there are likely to be some bugs and some features of 'encoding/json' may not be supported. Please report such cases, so that they may be fixed sooner.

        • Unsafe package is used by the code. While a non-unsafe version of easyjson can be made in the future, using unsafe package simplifies a lot of code by allowing to use 'switch' for filling out structs and working around limitations of standard functions like 'strconv.ParseInt'.

        • Floats are currently formatted with default precision for 'strconv' package. It is obvious that it is not always the correct way to handle it, but there aren't enough use-cases for floats at hand to do anything better.

        • During parsing, parts of JSON that are skipped over are not syntactically validated more than required to skip matching parentheses.

        • No true streaming support for encoding/decoding. For many use-cases and protocols, data length is typically known on input and needs to be known before sending the data.

        解析:

        lib json size MB/s allocs/op B/op
        standard regular 22 218 10229
        standard small 9.7 14 720
        -------- ----------- ------ ----------- -------
        easyjson regular 125 128 9794
        easyjson small 67 3 128
        -------- ----------- ------ ----------- -------
        ffjson regular 66 141 9985
        ffjson small 17.6 10 488
        -------- ----------- ------ ----------- -------
        codec regular 55 434 19299
        codec small 29 7 336
        -------- ----------- ------ ----------- -------
        ujson regular 103 N/A N/A

        編組,one goroutine

        lib json size MB/s allocs/op B/op
        standard regular 75 9 23256
        standard small 32 3 328
        standard large 80 17 1.2M
        ---------- ----------- ------ ----------- -------
        easyjson regular 213 9 10260
        easyjson* regular 263 8 742
        easyjson small 125 1 128
        easyjson large 212 33 490k
        easyjson* large 262 25 2879
        ---------- ----------- ------ ----------- -------
        ffjson regular 122 153 21340
        ffjson** regular 146 152 4897
        ffjson small 36 5 384
        ffjson** small 64 4 128
        ffjson large 134 7317 818k
        ffjson** large 125 7320 827k
        ---------- ----------- ------ ----------- -------
        codec regular 80 17 33601
        codec*** regular 108 9 1153
        codec small 42 3 304
        codec*** small 56 1 48
        codec large 73 483 2.5M
        codec*** large 103 451 66007
        ---------- ----------- ------ ----------- -------
        ujson regular 92 N/A N/A

        編組,并發(fā)

        lib json size MB/s allocs/op B/op
        standard regular 252 9 23257
        standard small 124 3 328
        standard large 289 17 1.2M
        ---------- ----------- ------- ----------- -------
        easyjson regular 792 9 10597
        easyjson* regular 1748 8 779
        easyjson small 333 1 128
        easyjson large 718 36 548k
        easyjson* large 2134 25 4957
        ---------- ----------- ------ ----------- -------
        ffjson regular 301 153 21629
        ffjson** regular 707 152 5148
        ffjson small 62 5 384
        ffjson** small 282 4 128
        ffjson large 438 7330 1.0M
        ffjson** large 131 7319 820k
        ---------- ----------- ------ ----------- -------
        codec regular 183 17 33603
        codec*** regular 671 9 1157
        codec small 147 3 304
        codec*** small 299 1 48
        codec large 190 483 2.5M
        codec*** large 752 451 77574


        瀏覽 31
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            成人国产精品秘 欧美高清 | 欧美在线大香蕉 | 永久免费看A片无码网站20 | 爱逼综合网 | 日韩精品无码一区AAAA片 | 女的被c到爽哭视频观看 | 中文字幕成人在线播放 | 亚洲色人人色 | 欧美抽插视频 | 日本黄色免费视频网站 |