| package jsoniter |
| |
| import ( |
| "encoding/json" |
| "io/ioutil" |
| "os" |
| "testing" |
| ) |
| |
| //func Test_large_file(t *testing.T) { |
| // file, err := os.Open("/tmp/large-file.json") |
| // if err != nil { |
| // t.Fatal(err) |
| // } |
| // iter := Parse(file, 4096) |
| // count := 0 |
| // for iter.ReadArray() { |
| // iter.Skip() |
| // count++ |
| // } |
| // if count != 11351 { |
| // t.Fatal(count) |
| // } |
| //} |
| |
| func Benchmark_jsoniter_large_file(b *testing.B) { |
| b.ReportAllocs() |
| for n := 0; n < b.N; n++ { |
| file, _ := os.Open("/tmp/large-file.json") |
| iter := Parse(file, 4096) |
| count := 0 |
| for iter.ReadArray() { |
| iter.Skip() |
| count++ |
| } |
| file.Close() |
| } |
| } |
| |
| func Benchmark_json_large_file(b *testing.B) { |
| b.ReportAllocs() |
| for n := 0; n < b.N; n++ { |
| file, _ := os.Open("/tmp/large-file.json") |
| bytes, _ := ioutil.ReadAll(file) |
| file.Close() |
| result := []struct{}{} |
| json.Unmarshal(bytes, &result) |
| } |
| } |