| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package jsoniter
- import (
- "testing"
- "os"
- "encoding/json"
- "io/ioutil"
- )
- 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)
- }
- }
|