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

OSCHINA-MIRROR/dxsoft-DxValue

Клонировать/Скачать
Benchmark_test.go 1.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
suiyunonghen Отправлено 22.08.2019 16:24 eb0e6ad
package DxValue
import (
"encoding/json"
"fmt"
//"github.com/gogf/gf/g/encoding/gparser"
"github.com/json-iterator/go"
"io/ioutil"
"testing"
//"os"
"os"
)
/*func BenchmarkGparser(b *testing.B){
buf, err := ioutil.ReadFile("DataProxy.config.json")
if err != nil {
fmt.Println("ReadFile Err:",err)
return
}
var gp *gparser.Parser
for i := 0;i<b.N;i++ {
gp,_ = gparser.LoadContent(buf, "json")
if bt,err := gp.ToJson();err!=nil{
return
}else if file,err := os.OpenFile("Gparser.json",os.O_CREATE | os.O_TRUNC,0644);err == nil{
file.Write(bt)
file.Close()
}
}
}*/
func BenchmarkDxRecord_JsonParserFromByte(b *testing.B) {
buf, err := ioutil.ReadFile("DataProxy.config.json")
if err != nil {
fmt.Println("ReadFile Err:",err)
return
}
rc := NewRecord()
for i := 0;i<b.N;i++{
_,err := rc.JsonParserFromByte(buf,false,false)
if err != nil{
fmt.Println("Parser Error: ",err)
break
}
if file,err := os.OpenFile("DxRecord.json",os.O_CREATE | os.O_TRUNC,0644);err == nil{
rc.SaveJsonWriter(file)
file.Close()
}
}
}
func BenchmarkJsoniterParser(b *testing.B){
buf, err := ioutil.ReadFile("DataProxy.config.json")
if err != nil {
fmt.Println("ReadFile Err:",err)
return
}
mp := make(map[string]interface{})
for i := 0;i<b.N;i++ {
jsoniter.Unmarshal(buf,&mp)
if bt,err := jsoniter.Marshal(&mp);err!=nil{
return
}else if file,err := os.OpenFile("Jsoniter.json",os.O_CREATE | os.O_TRUNC,0644);err == nil{
file.Write(bt)
file.Close()
}
}
}
func BenchmarkStandJsonParser(b *testing.B){
buf, err := ioutil.ReadFile("DataProxy.config.json")
if err != nil {
fmt.Println("ReadFile Err:",err)
return
}
mp := make(map[string]interface{})
for i := 0;i<b.N;i++ {
json.Unmarshal(buf, &mp)
if bt,err := json.Marshal(&mp);err!=nil{
return
}else if file,err := os.OpenFile("StandJson.json",os.O_CREATE | os.O_TRUNC,0644);err == nil{
file.Write(bt)
file.Close()
}
}
}

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

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

1
https://api.gitlife.ru/oschina-mirror/dxsoft-DxValue.git
git@api.gitlife.ru:oschina-mirror/dxsoft-DxValue.git
oschina-mirror
dxsoft-DxValue
dxsoft-DxValue
master