<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    咖啡伴侶

    呆在上海
    posts - 163, comments - 156, trackbacks - 0, articles - 2

    bson和json

    Posted on 2013-09-23 14:08 oathleo 閱讀(3303) 評論(0)  編輯  收藏 所屬分類: Golang
    測試1000個數(shù)據(jù) 每個數(shù)據(jù)10個字節(jié),分別使用字節(jié)、json、bson方式 存儲,并用gzip壓縮

    結(jié)果bson比json還大一點,確實出乎意料

    個人結(jié)論是BSON對比json更加適合存儲,在傳輸上沒有太大優(yōu)勢

      BSON相對JSon
    1.更快的遍歷速度
    2.操作更簡易
    3.增加了額外的數(shù)據(jù)類型

    raw data: 10000
    raw data gzip compress: 6553

    json string: 44524
    json byte: 44524
    json gzip compress: 8125

    bson byte: 46910
    bson gzip compress: 9721


    package main

    import (
        "bytes"
        "compress/gzip"
        "fmt"
        "labix.org/v2/mgo/bson"
        "math/rand"
    )

    type HisCollection struct {
        RTValues []RTValue
    }

    type RTValue struct {
        Time   int32
        Status int16
        Value  float32
    }

    func main() {
        fmt.Println("start")

        size := 1000
        col := make([]RTValue, size)

        for i := 0; i < size; i++ {
            col[i] = RTValue{Time: int32(i), Status: 100, Value: rand.Float32()}
        }

        his := HisCollection{RTValues: col}
        data, err := bson.Marshal(&his)
        if err != nil {
            panic(err)
        }
        //    fmt.Println(data)
        fmt.Println("bson byte:", len(data))

        var compress_data_buf bytes.Buffer
        writer := gzip.NewWriter(&compress_data_buf)
        defer writer.Close()

        writer.Write(data)
        writer.Flush()

        fmt.Println("bson gzip compress:",len(compress_data_buf.Bytes()))

    }

    package main

    import (
        "bytes"
        "compress/gzip"
        "fmt"
        "math/rand"
        "openplant/opnet"
    )

    func main() {
        var compress_data_buf bytes.Buffer
        writer := gzip.NewWriter(&compress_data_buf)
        defer writer.Close()

        size := 1000
        for i := 0; i < size; i++ {
            writer.Write(opnet.WarpInt32ToByte(int32(i)))
            writer.Write(opnet.WarpInt16ToByte(int16(100)))
            writer.Write(opnet.WarpFloat32ToByte(rand.Float32()))
        }

        writer.Flush()

        fmt.Println("raw data:", 10000)

        fmt.Println("raw data gzip compress:", len(compress_data_buf.Bytes()))

    }
    111

    package main

    import (
        "bytes"
        "compress/gzip"
        "encoding/json"
        "fmt"
        "math/rand"
    )

    type HisCollection struct {
        RTValues []RTValue
    }

    type RTValue struct {
        Time   int32
        Status int16
        Value  float32
    }

    func main() {
        fmt.Println("start")

        size := 1000
        col := make([]RTValue, size)

        for i := 0; i < size; i++ {
            col[i] = RTValue{Time: int32(i), Status: 100, Value: rand.Float32()}
        }

        his := HisCollection{RTValues: col}

        data, err := json.Marshal(&his)

        fmt.Println("json string:", string(data))
        fmt.Println("json string:", len(string(data)))

        if err != nil {
            panic(err)
        }
        //    fmt.Println(data)
        fmt.Println("json byte:", len(data))

        var compress_data_buf bytes.Buffer
        writer := gzip.NewWriter(&compress_data_buf)
        defer writer.Close()

        writer.Write(data)
        writer.Flush()

        fmt.Println("json gzip compress:", len(compress_data_buf.Bytes()))

    }
    主站蜘蛛池模板: 亚洲福利视频导航| 大学生a级毛片免费观看| 亚洲欧洲国产成人综合在线观看 | 国产成年无码久久久免费| 亚洲不卡AV影片在线播放| 免费无码又爽又黄又刺激网站 | 拨牐拨牐x8免费| 亚洲一级免费毛片| h视频在线免费看| 久久综合亚洲色HEZYO社区| 美女视频黄a视频全免费网站色窝 美女被cao网站免费看在线看 | 亚洲综合色一区二区三区小说| 久久久久国产免费| 亚州免费一级毛片| 亚洲中字慕日产2021| 成全视频在线观看免费高清动漫视频下载 | 国产亚洲精品无码拍拍拍色欲| 深夜a级毛片免费无码| 国产亚洲精品自在线观看| 永久免费A∨片在线观看| 久久久无码精品亚洲日韩按摩 | 在线观看人成视频免费| 精品国产日韩亚洲一区在线| 亚洲国产成人五月综合网 | 久久久久久国产a免费观看不卡 | 亚洲国产福利精品一区二区| 中文字幕人成无码免费视频| 国产成人亚洲毛片| 亚洲人成网77777色在线播放| 91精品手机国产免费| 亚洲av日韩aⅴ无码色老头| 久久精品国产亚洲5555| 最近免费最新高清中文字幕韩国 | 在线播放免费人成视频在线观看| 美女黄频免费网站| 亚洲AV无码成人网站久久精品大| 久久久久久精品成人免费图片| 亚洲乱亚洲乱妇24p| 亚洲色爱图小说专区| 4399好看日本在线电影免费| 国产91成人精品亚洲精品|