benchmark

package
v0.0.0-...-475bb07 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 30, 2018 License: MIT Imports: 13 Imported by: 0

README

Benchmarks

These benchmarks compare a number of different Go JSON parsers. Four different JSON files are parsed:

  • fixture_small.json: 190 B
  • fixture_medium.json: 2.3 KB
  • fixture_large.json: 41 KB
  • fixture_huge.json: 333 MB

To run the benchmarks yourself, use make build to build the Docker image, then make bench to run it. Alternatively, use go get to install all the parsers being benchmarked, then run:

go test -bench=. -benchtime=5s -benchmem ./benchmark/

These benchmark tests are originally from buger/jsonparser.

Results

These results were taken on a MacBook Pro 11,2. Your mileage may vary slightly.

BenchmarkJsonMuncherHuge-8                     	      10	 761287513 ns/op	    4336 B/op	       6 allocs/op
BenchmarkJsonParserHuge-8                      	       5	1135070002 ns/op	360846475 B/op	 1000012 allocs/op
BenchmarkEncodingJsonStructHuge-8              	       1	5435946960 ns/op	1442501104 B/op	10502039 allocs/op
BenchmarkEncodingJsonInterfaceHuge-8           	       1	5701351770 ns/op	1489402024 B/op	28034854 allocs/op
BenchmarkEncodingJsonStreamStructHuge-8        	       1	5735771777 ns/op	2167391392 B/op	10502057 allocs/op
BenchmarkEncodingJsonStreamInterfaceHuge-8     	       1	5966943523 ns/op	2214184568 B/op	28034497 allocs/op
BenchmarkJstreamHuge-8                         	       1	5866067676 ns/op	1129458008 B/op	28533146 allocs/op
BenchmarkGojayHuge-8                           	       3	2090216626 ns/op	1911409520 B/op	10002027 allocs/op
BenchmarkJsonIteratorHuge-8                    	       2	3225396334 ns/op	1839351112 B/op	17002141 allocs/op
BenchmarkGabsHuge-8                            	       1	5661634428 ns/op	1517427480 B/op	29534794 allocs/op
BenchmarkGoSimpleJsonHuge-8                    	       1	5876533891 ns/op	2563080408 B/op	28034667 allocs/op
BenchmarkFFJsonHuge-8                          	       3	2415598919 ns/op	1442499717 B/op	10502030 allocs/op
BenchmarkJasonHuge-8                           	       1	9854035703 ns/op	4191166648 B/op	49634480 allocs/op
BenchmarkUjsonHuge-8                           	       2	4026916938 ns/op	1593388936 B/op	34534906 allocs/op
BenchmarkDjsonHuge-8                           	       2	3048507867 ns/op	1489389136 B/op	28034807 allocs/op
BenchmarkUgorjiHuge-8                          	       1	7739377297 ns/op	2667890632 B/op	18503643 allocs/op
BenchmarkEasyJsonHuge-8                        	       3	2051049192 ns/op	1510499090 B/op	 9502023 allocs/op
BenchmarkJsonMuncherLarge-8                    	  100000	     94460 ns/op	    4336 B/op	       6 allocs/op
BenchmarkJsonParserLarge-8                     	  100000	    111023 ns/op	   49616 B/op	       7 allocs/op
BenchmarkEncodingJsonStructLarge-8             	   10000	    606856 ns/op	   56264 B/op	     248 allocs/op
BenchmarkEncodingJsonInterfaceLarge-8          	   10000	    842066 ns/op	  261799 B/op	    2881 allocs/op
BenchmarkEncodingJsonStreamStructLarge-8       	   10000	    655320 ns/op	  136168 B/op	     256 allocs/op
BenchmarkEncodingJsonStreamInterfaceLarge-8    	   10000	    931944 ns/op	  341692 B/op	    2889 allocs/op
BenchmarkJstreamLarge-8                        	    3000	   1969405 ns/op	  438465 B/op	    5484 allocs/op
BenchmarkGojayLarge-8                          	   50000	    153690 ns/op	  102668 B/op	     178 allocs/op
BenchmarkJsonIteratorLarge-8                   	   20000	    410814 ns/op	  118218 B/op	    1379 allocs/op
BenchmarkGabsLarge-8                           	   10000	    870205 ns/op	  265079 B/op	    3041 allocs/op
BenchmarkGoSimpleJsonLarge-8                   	   10000	   1000596 ns/op	  392635 B/op	    2845 allocs/op
BenchmarkFFJsonLarge-8                         	   30000	    248859 ns/op	   55977 B/op	     243 allocs/op
BenchmarkJasonLarge-8                          	   10000	   1044236 ns/op	  421071 B/op	    3284 allocs/op
BenchmarkUjsonLarge-8                          	   10000	    679211 ns/op	  288540 B/op	    4021 allocs/op
BenchmarkDjsonLarge-8                          	   10000	    531208 ns/op	  261144 B/op	    2746 allocs/op
BenchmarkUgorjiLarge-8                         	   10000	    798903 ns/op	   57458 B/op	     254 allocs/op
BenchmarkEasyJsonLarge-8                       	   50000	    175398 ns/op	   55096 B/op	     232 allocs/op
BenchmarkJsonMuncherMedium-8                   	  500000	     13783 ns/op	    1264 B/op	       6 allocs/op
BenchmarkJsonParserMedium-8                    	  500000	     16174 ns/op	    3536 B/op	       7 allocs/op
BenchmarkEncodingJsonStructMedium-8            	  200000	     42425 ns/op	    4626 B/op	      30 allocs/op
BenchmarkEncodingJsonInterfaceMedium-8         	  200000	     55449 ns/op	   13964 B/op	     213 allocs/op
BenchmarkEncodingJsonStreamStructMedium-8      	  200000	     44838 ns/op	    7692 B/op	      34 allocs/op
BenchmarkEncodingJsonStreamInterfaceMedium-8   	  200000	     55407 ns/op	   17036 B/op	     217 allocs/op
BenchmarkJstreamMedium-8                       	  100000	     84099 ns/op	   14713 B/op	     172 allocs/op
BenchmarkGojayMedium-8                         	  500000	     15310 ns/op	    6474 B/op	      20 allocs/op
BenchmarkJsonIteratorMedium-8                  	  200000	     30852 ns/op	    7615 B/op	     101 allocs/op
BenchmarkGabsMedium-8                          	  200000	     54700 ns/op	   14440 B/op	     232 allocs/op
BenchmarkGoSimpleJsonMedium-8                  	  100000	     59926 ns/op	   20603 B/op	     220 allocs/op
BenchmarkFFJsonMedium-8                        	  300000	     21394 ns/op	    4346 B/op	      25 allocs/op
BenchmarkJasonMedium-8                         	  100000	     63887 ns/op	   22443 B/op	     248 allocs/op
BenchmarkUjsonMedium-8                         	  200000	     41953 ns/op	   15203 B/op	     284 allocs/op
BenchmarkDjsonMedium-8                         	  200000	     33466 ns/op	   13659 B/op	     201 allocs/op
BenchmarkUgorjiMedium-8                        	  200000	     56543 ns/op	    5789 B/op	      36 allocs/op
BenchmarkEasyJsonMedium-8                      	  500000	     15691 ns/op	    3952 B/op	      19 allocs/op
BenchmarkJsonMuncherSmall-8                    	 1000000	      5937 ns/op	     496 B/op	       6 allocs/op
BenchmarkJsonParserSmall-8                     	 1000000	      7322 ns/op	    1168 B/op	       7 allocs/op
BenchmarkEncodingJsonStructSmall-8             	 1000000	     11285 ns/op	    1912 B/op	      23 allocs/op
BenchmarkEncodingJsonInterfaceSmall-8          	 1000000	     12018 ns/op	    2521 B/op	      39 allocs/op
BenchmarkEncodingJsonStreamStructSmall-8       	 1000000	      9257 ns/op	    1608 B/op	      22 allocs/op
BenchmarkEncodingJsonStreamInterfaceSmall-8    	 1000000	      9651 ns/op	    2217 B/op	      38 allocs/op
BenchmarkJstreamSmall-8                        	  200000	     40813 ns/op	   13289 B/op	      40 allocs/op
BenchmarkGojaySmall-8                          	 1000000	      7603 ns/op	    1520 B/op	      13 allocs/op
BenchmarkJsonIteratorSmall-8                   	 1000000	     10582 ns/op	    2001 B/op	      32 allocs/op
BenchmarkGabsSmall-8                           	  500000	     12494 ns/op	    2649 B/op	      47 allocs/op
BenchmarkGoSimplejsonSmall-8                   	  500000	     12923 ns/op	    3337 B/op	      39 allocs/op
BenchmarkFFJsonSmall-8                         	 1000000	      9163 ns/op	    1752 B/op	      21 allocs/op
BenchmarkJasonSmall-8                          	  300000	     24120 ns/op	    8333 B/op	     104 allocs/op
BenchmarkUjsonSmall-8                          	 1000000	     10737 ns/op	    2633 B/op	      46 allocs/op
BenchmarkDjsonSmall-8                          	 1000000	      9475 ns/op	    2345 B/op	      34 allocs/op
BenchmarkUgorjiSmall-8                         	 1000000	      9467 ns/op	    2304 B/op	      12 allocs/op
BenchmarkEasyJsonSmall-8                       	 1000000	      7948 ns/op	    1304 B/op	      15 allocs/op

Projects

The benchmarks compare the following projects:

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CBAvatar

type CBAvatar struct {
	Url string
}

CBAvatar represents one Gravatar avatar for a Clearbit person.

func (*CBAvatar) CodecDecodeSelf

func (x *CBAvatar) CodecDecodeSelf(d *codec1978.Decoder)

func (*CBAvatar) CodecEncodeSelf

func (x *CBAvatar) CodecEncodeSelf(e *codec1978.Encoder)

func (*CBAvatar) IsNil

func (v *CBAvatar) IsNil() bool

IsNil returns wether the structure is nil value or not

func (CBAvatar) MarshalEasyJSON

func (v CBAvatar) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*CBAvatar) MarshalJSON

func (mj *CBAvatar) MarshalJSON() ([]byte, error)

func (*CBAvatar) MarshalJSONBuf

func (mj *CBAvatar) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*CBAvatar) MarshalJSONObject

func (v *CBAvatar) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*CBAvatar) NKeys

func (v *CBAvatar) NKeys() int

NKeys returns the number of keys to unmarshal

func (*CBAvatar) UnmarshalEasyJSON

func (v *CBAvatar) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CBAvatar) UnmarshalJSON

func (uj *CBAvatar) UnmarshalJSON(input []byte) error

func (*CBAvatar) UnmarshalJSONFFLexer

func (uj *CBAvatar) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*CBAvatar) UnmarshalJSONObject

func (v *CBAvatar) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

type CBGithub

type CBGithub struct {
	Followers int
}

CBGithub represents a Clearbit person's Github account data.

func (*CBGithub) CodecDecodeSelf

func (x *CBGithub) CodecDecodeSelf(d *codec1978.Decoder)

func (*CBGithub) CodecEncodeSelf

func (x *CBGithub) CodecEncodeSelf(e *codec1978.Encoder)

func (*CBGithub) IsNil

func (v *CBGithub) IsNil() bool

IsNil returns wether the structure is nil value or not

func (CBGithub) MarshalEasyJSON

func (v CBGithub) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*CBGithub) MarshalJSON

func (mj *CBGithub) MarshalJSON() ([]byte, error)

func (*CBGithub) MarshalJSONBuf

func (mj *CBGithub) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*CBGithub) MarshalJSONObject

func (v *CBGithub) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*CBGithub) NKeys

func (v *CBGithub) NKeys() int

NKeys returns the number of keys to unmarshal

func (*CBGithub) UnmarshalEasyJSON

func (v *CBGithub) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CBGithub) UnmarshalJSON

func (uj *CBGithub) UnmarshalJSON(input []byte) error

func (*CBGithub) UnmarshalJSONFFLexer

func (uj *CBGithub) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*CBGithub) UnmarshalJSONObject

func (v *CBGithub) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

type CBGravatar

type CBGravatar struct {
	Avatars []*CBAvatar
}

CBGravatar represents a Clearbit person's Gravatar account data.

func (*CBGravatar) CodecDecodeSelf

func (x *CBGravatar) CodecDecodeSelf(d *codec1978.Decoder)

func (*CBGravatar) CodecEncodeSelf

func (x *CBGravatar) CodecEncodeSelf(e *codec1978.Encoder)

func (*CBGravatar) IsNil

func (v *CBGravatar) IsNil() bool

IsNil returns wether the structure is nil value or not

func (CBGravatar) MarshalEasyJSON

func (v CBGravatar) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*CBGravatar) MarshalJSON

func (mj *CBGravatar) MarshalJSON() ([]byte, error)

func (*CBGravatar) MarshalJSONBuf

func (mj *CBGravatar) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*CBGravatar) MarshalJSONObject

func (v *CBGravatar) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*CBGravatar) NKeys

func (v *CBGravatar) NKeys() int

NKeys returns the number of keys to unmarshal

func (*CBGravatar) UnmarshalEasyJSON

func (v *CBGravatar) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CBGravatar) UnmarshalJSON

func (uj *CBGravatar) UnmarshalJSON(input []byte) error

func (*CBGravatar) UnmarshalJSONFFLexer

func (uj *CBGravatar) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*CBGravatar) UnmarshalJSONObject

func (v *CBGravatar) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

type CBName

type CBName struct {
	FullName string
}

CBName represents a Clearbit person's name.

func (*CBName) CodecDecodeSelf

func (x *CBName) CodecDecodeSelf(d *codec1978.Decoder)

func (*CBName) CodecEncodeSelf

func (x *CBName) CodecEncodeSelf(e *codec1978.Encoder)

func (*CBName) IsNil

func (v *CBName) IsNil() bool

IsNil returns wether the structure is nil value or not

func (CBName) MarshalEasyJSON

func (v CBName) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*CBName) MarshalJSON

func (mj *CBName) MarshalJSON() ([]byte, error)

func (*CBName) MarshalJSONBuf

func (mj *CBName) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*CBName) MarshalJSONObject

func (v *CBName) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*CBName) NKeys

func (v *CBName) NKeys() int

NKeys returns the number of keys to unmarshal

func (*CBName) UnmarshalEasyJSON

func (v *CBName) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CBName) UnmarshalJSON

func (uj *CBName) UnmarshalJSON(input []byte) error

func (*CBName) UnmarshalJSONFFLexer

func (uj *CBName) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*CBName) UnmarshalJSONObject

func (v *CBName) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

type CBPerson

type CBPerson struct {
	Name     *CBName
	Github   *CBGithub
	Gravatar *CBGravatar
}

CBPerson represents a Clearbit person.

func (*CBPerson) CodecDecodeSelf

func (x *CBPerson) CodecDecodeSelf(d *codec1978.Decoder)

func (*CBPerson) CodecEncodeSelf

func (x *CBPerson) CodecEncodeSelf(e *codec1978.Encoder)

func (*CBPerson) IsNil

func (v *CBPerson) IsNil() bool

IsNil returns wether the structure is nil value or not

func (CBPerson) MarshalEasyJSON

func (v CBPerson) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*CBPerson) MarshalJSON

func (mj *CBPerson) MarshalJSON() ([]byte, error)

func (*CBPerson) MarshalJSONBuf

func (mj *CBPerson) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*CBPerson) MarshalJSONObject

func (v *CBPerson) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*CBPerson) NKeys

func (v *CBPerson) NKeys() int

NKeys returns the number of keys to unmarshal

func (*CBPerson) UnmarshalEasyJSON

func (v *CBPerson) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CBPerson) UnmarshalJSON

func (uj *CBPerson) UnmarshalJSON(input []byte) error

func (*CBPerson) UnmarshalJSONFFLexer

func (uj *CBPerson) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*CBPerson) UnmarshalJSONObject

func (v *CBPerson) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

type ChartVersion

type ChartVersion struct {
	Metadata
	URLs    []string  `json:"urls"`
	Created time.Time `json:"created,omitempty"`
	Removed bool      `json:"removed,omitempty"`
	Digest  string    `json:"digest,omitempty"`
}

ChartVersion is one version of a chart.

func (*ChartVersion) CodecDecodeSelf

func (x *ChartVersion) CodecDecodeSelf(d *codec1978.Decoder)

func (*ChartVersion) CodecEncodeSelf

func (x *ChartVersion) CodecEncodeSelf(e *codec1978.Encoder)

func (*ChartVersion) IsNil

func (v *ChartVersion) IsNil() bool

IsNil returns wether the structure is nil value or not

func (ChartVersion) MarshalEasyJSON

func (v ChartVersion) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*ChartVersion) MarshalJSON

func (mj *ChartVersion) MarshalJSON() ([]byte, error)

func (*ChartVersion) MarshalJSONBuf

func (mj *ChartVersion) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*ChartVersion) MarshalJSONObject

func (v *ChartVersion) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*ChartVersion) NKeys

func (v *ChartVersion) NKeys() int

NKeys returns the number of keys to unmarshal

func (*ChartVersion) UnmarshalEasyJSON

func (v *ChartVersion) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*ChartVersion) UnmarshalJSON

func (uj *ChartVersion) UnmarshalJSON(input []byte) error

func (*ChartVersion) UnmarshalJSONFFLexer

func (uj *ChartVersion) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*ChartVersion) UnmarshalJSONObject

func (v *ChartVersion) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

type ChartVersions

type ChartVersions []ChartVersion

ChartVersions is a list of versions of a chart.

func (*ChartVersions) CodecDecodeSelf

func (x *ChartVersions) CodecDecodeSelf(d *codec1978.Decoder)

func (ChartVersions) CodecEncodeSelf

func (x ChartVersions) CodecEncodeSelf(e *codec1978.Encoder)

func (*ChartVersions) IsNil

func (v *ChartVersions) IsNil() bool

IsNil implements gojay's MarshalerJSONArray

func (*ChartVersions) MarshalJSONArray

func (v *ChartVersions) MarshalJSONArray(enc *gojay.Encoder)

MarshalJSONArray implements gojay's MarshalerJSONArray

func (*ChartVersions) UnmarshalJSONArray

func (v *ChartVersions) UnmarshalJSONArray(dec *gojay.Decoder) error

UnmarshalJSONArray implements gojay's UnmarshalerJSONArray

type DSTopic

type DSTopic struct {
	Id   int
	Slug string
}

DSTopic represents one Discourse topic.

func (*DSTopic) CodecDecodeSelf

func (x *DSTopic) CodecDecodeSelf(d *codec1978.Decoder)

func (*DSTopic) CodecEncodeSelf

func (x *DSTopic) CodecEncodeSelf(e *codec1978.Encoder)

func (*DSTopic) IsNil

func (v *DSTopic) IsNil() bool

IsNil returns wether the structure is nil value or not

func (DSTopic) MarshalEasyJSON

func (v DSTopic) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*DSTopic) MarshalJSON

func (mj *DSTopic) MarshalJSON() ([]byte, error)

func (*DSTopic) MarshalJSONBuf

func (mj *DSTopic) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*DSTopic) MarshalJSONObject

func (v *DSTopic) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*DSTopic) NKeys

func (v *DSTopic) NKeys() int

NKeys returns the number of keys to unmarshal

func (*DSTopic) UnmarshalEasyJSON

func (v *DSTopic) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DSTopic) UnmarshalJSON

func (uj *DSTopic) UnmarshalJSON(input []byte) error

func (*DSTopic) UnmarshalJSONFFLexer

func (uj *DSTopic) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*DSTopic) UnmarshalJSONObject

func (v *DSTopic) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

type DSTopicsList

type DSTopicsList struct {
	Topics        []*DSTopic
	MoreTopicsUrl string
}

DSTopicsList represents a paginated set of Discourse topics.

func (*DSTopicsList) CodecDecodeSelf

func (x *DSTopicsList) CodecDecodeSelf(d *codec1978.Decoder)

func (*DSTopicsList) CodecEncodeSelf

func (x *DSTopicsList) CodecEncodeSelf(e *codec1978.Encoder)

func (*DSTopicsList) IsNil

func (v *DSTopicsList) IsNil() bool

IsNil returns wether the structure is nil value or not

func (DSTopicsList) MarshalEasyJSON

func (v DSTopicsList) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*DSTopicsList) MarshalJSON

func (mj *DSTopicsList) MarshalJSON() ([]byte, error)

func (*DSTopicsList) MarshalJSONBuf

func (mj *DSTopicsList) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*DSTopicsList) MarshalJSONObject

func (v *DSTopicsList) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*DSTopicsList) NKeys

func (v *DSTopicsList) NKeys() int

NKeys returns the number of keys to unmarshal

func (*DSTopicsList) UnmarshalEasyJSON

func (v *DSTopicsList) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DSTopicsList) UnmarshalJSON

func (uj *DSTopicsList) UnmarshalJSON(input []byte) error

func (*DSTopicsList) UnmarshalJSONFFLexer

func (uj *DSTopicsList) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*DSTopicsList) UnmarshalJSONObject

func (v *DSTopicsList) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

type DSUser

type DSUser struct {
	Username string
}

DSUser represents a Discourse user.

func (*DSUser) CodecDecodeSelf

func (x *DSUser) CodecDecodeSelf(d *codec1978.Decoder)

func (*DSUser) CodecEncodeSelf

func (x *DSUser) CodecEncodeSelf(e *codec1978.Encoder)

func (*DSUser) IsNil

func (v *DSUser) IsNil() bool

IsNil returns wether the structure is nil value or not

func (DSUser) MarshalEasyJSON

func (v DSUser) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*DSUser) MarshalJSON

func (mj *DSUser) MarshalJSON() ([]byte, error)

func (*DSUser) MarshalJSONBuf

func (mj *DSUser) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*DSUser) MarshalJSONObject

func (v *DSUser) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*DSUser) NKeys

func (v *DSUser) NKeys() int

NKeys returns the number of keys to unmarshal

func (*DSUser) UnmarshalEasyJSON

func (v *DSUser) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DSUser) UnmarshalJSON

func (uj *DSUser) UnmarshalJSON(input []byte) error

func (*DSUser) UnmarshalJSONFFLexer

func (uj *DSUser) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*DSUser) UnmarshalJSONObject

func (v *DSUser) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

type IndexFile

type IndexFile struct {
	APIVersion string                   `json:"apiVersion"`
	Generated  time.Time                `json:"generated"`
	Entries    map[string]ChartVersions `json:"entries"`
}

IndexFile contains the huge payload data.

func (*IndexFile) CodecDecodeSelf

func (x *IndexFile) CodecDecodeSelf(d *codec1978.Decoder)

func (*IndexFile) CodecEncodeSelf

func (x *IndexFile) CodecEncodeSelf(e *codec1978.Encoder)

func (*IndexFile) IsNil

func (v *IndexFile) IsNil() bool

IsNil returns wether the structure is nil value or not

func (IndexFile) MarshalEasyJSON

func (v IndexFile) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*IndexFile) MarshalJSON

func (mj *IndexFile) MarshalJSON() ([]byte, error)

func (*IndexFile) MarshalJSONBuf

func (mj *IndexFile) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*IndexFile) MarshalJSONObject

func (v *IndexFile) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*IndexFile) NKeys

func (v *IndexFile) NKeys() int

NKeys returns the number of keys to unmarshal

func (*IndexFile) UnmarshalEasyJSON

func (v *IndexFile) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*IndexFile) UnmarshalJSON

func (uj *IndexFile) UnmarshalJSON(input []byte) error

func (*IndexFile) UnmarshalJSONFFLexer

func (uj *IndexFile) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*IndexFile) UnmarshalJSONObject

func (v *IndexFile) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

type LargePayload

type LargePayload struct {
	Users  []*DSUser
	Topics *DSTopicsList
}

LargePayload contains the large payload data.

func (*LargePayload) CodecDecodeSelf

func (x *LargePayload) CodecDecodeSelf(d *codec1978.Decoder)

func (*LargePayload) CodecEncodeSelf

func (x *LargePayload) CodecEncodeSelf(e *codec1978.Encoder)

func (*LargePayload) IsNil

func (v *LargePayload) IsNil() bool

IsNil returns wether the structure is nil value or not

func (LargePayload) MarshalEasyJSON

func (v LargePayload) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*LargePayload) MarshalJSON

func (mj *LargePayload) MarshalJSON() ([]byte, error)

func (*LargePayload) MarshalJSONBuf

func (mj *LargePayload) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*LargePayload) MarshalJSONObject

func (v *LargePayload) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*LargePayload) NKeys

func (v *LargePayload) NKeys() int

NKeys returns the number of keys to unmarshal

func (*LargePayload) UnmarshalEasyJSON

func (v *LargePayload) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*LargePayload) UnmarshalJSON

func (uj *LargePayload) UnmarshalJSON(input []byte) error

func (*LargePayload) UnmarshalJSONFFLexer

func (uj *LargePayload) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*LargePayload) UnmarshalJSONObject

func (v *LargePayload) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

type Maintainer

type Maintainer struct {
	Name  string `json:"name,omitempty"`
	Email string `json:"email,omitempty"`
	Url   string `json:"url,omitempty"`
}

Maintainer is the information of a chart maintainer.

func (*Maintainer) CodecDecodeSelf

func (x *Maintainer) CodecDecodeSelf(d *codec1978.Decoder)

func (*Maintainer) CodecEncodeSelf

func (x *Maintainer) CodecEncodeSelf(e *codec1978.Encoder)

func (*Maintainer) IsNil

func (v *Maintainer) IsNil() bool

IsNil returns wether the structure is nil value or not

func (Maintainer) MarshalEasyJSON

func (v Maintainer) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*Maintainer) MarshalJSON

func (mj *Maintainer) MarshalJSON() ([]byte, error)

func (*Maintainer) MarshalJSONBuf

func (mj *Maintainer) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*Maintainer) MarshalJSONObject

func (v *Maintainer) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*Maintainer) NKeys

func (v *Maintainer) NKeys() int

NKeys returns the number of keys to unmarshal

func (*Maintainer) UnmarshalEasyJSON

func (v *Maintainer) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Maintainer) UnmarshalJSON

func (uj *Maintainer) UnmarshalJSON(input []byte) error

func (*Maintainer) UnmarshalJSONFFLexer

func (uj *Maintainer) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*Maintainer) UnmarshalJSONObject

func (v *Maintainer) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

type MediumPayload

type MediumPayload struct {
	Person  *CBPerson
	Company map[string]interface{}
}

MediumPayload contains the medium payload data.

func (*MediumPayload) CodecDecodeSelf

func (x *MediumPayload) CodecDecodeSelf(d *codec1978.Decoder)

func (*MediumPayload) CodecEncodeSelf

func (x *MediumPayload) CodecEncodeSelf(e *codec1978.Encoder)

func (*MediumPayload) IsNil

func (v *MediumPayload) IsNil() bool

IsNil returns wether the structure is nil value or not

func (MediumPayload) MarshalEasyJSON

func (v MediumPayload) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*MediumPayload) MarshalJSON

func (mj *MediumPayload) MarshalJSON() ([]byte, error)

func (*MediumPayload) MarshalJSONBuf

func (mj *MediumPayload) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*MediumPayload) MarshalJSONObject

func (v *MediumPayload) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*MediumPayload) NKeys

func (v *MediumPayload) NKeys() int

NKeys returns the number of keys to unmarshal

func (*MediumPayload) UnmarshalEasyJSON

func (v *MediumPayload) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MediumPayload) UnmarshalJSON

func (uj *MediumPayload) UnmarshalJSON(input []byte) error

func (*MediumPayload) UnmarshalJSONFFLexer

func (uj *MediumPayload) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*MediumPayload) UnmarshalJSONObject

func (v *MediumPayload) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

type Metadata

type Metadata struct {
	Name          string            `json:"name,omitempty"`
	Home          string            `json:"home,omitempty"`
	Sources       []string          `json:"sources,omitempty"`
	Version       string            `json:"version,omitempty"`
	Description   string            `json:"description,omitempty"`
	Keywords      []string          `json:"keywords,omitempty"`
	Maintainers   []*Maintainer     `json:"maintainers,omitempty"`
	Engine        string            `json:"engine,omitempty"`
	Icon          string            `json:"icon,omitempty"`
	ApiVersion    string            `json:"apiVersion,omitempty"`
	Condition     string            `json:"condition,omitempty"`
	Tags          string            `json:"tags,omitempty"`
	AppVersion    string            `json:"appVersion,omitempty"`
	Deprecated    bool              `json:"deprecated,omitempty"`
	TillerVersion string            `json:"tillerVersion,omitempty"`
	Annotations   map[string]string `json:"annotations,omitempty"`
	KubeVersion   string            `json:"kubeVersion,omitempty"`
}

Metadata is the metadata for a chart.

func (*Metadata) CodecDecodeSelf

func (x *Metadata) CodecDecodeSelf(d *codec1978.Decoder)

func (*Metadata) CodecEncodeSelf

func (x *Metadata) CodecEncodeSelf(e *codec1978.Encoder)

func (Metadata) MarshalEasyJSON

func (v Metadata) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*Metadata) MarshalJSON

func (mj *Metadata) MarshalJSON() ([]byte, error)

func (*Metadata) MarshalJSONBuf

func (mj *Metadata) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*Metadata) UnmarshalEasyJSON

func (v *Metadata) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Metadata) UnmarshalJSON

func (uj *Metadata) UnmarshalJSON(input []byte) error

func (*Metadata) UnmarshalJSONFFLexer

func (uj *Metadata) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

type SmallPayload

type SmallPayload struct {
	St   int
	Sid  int
	Tt   string
	Gr   int
	Uuid string
	Ip   string
	Ua   string
	Tz   int
	V    int
}

SmallPayload contains the small payload data.

func (*SmallPayload) CodecDecodeSelf

func (x *SmallPayload) CodecDecodeSelf(d *codec1978.Decoder)

func (*SmallPayload) CodecEncodeSelf

func (x *SmallPayload) CodecEncodeSelf(e *codec1978.Encoder)

func (*SmallPayload) IsNil

func (v *SmallPayload) IsNil() bool

IsNil returns wether the structure is nil value or not

func (SmallPayload) MarshalEasyJSON

func (v SmallPayload) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (*SmallPayload) MarshalJSON

func (mj *SmallPayload) MarshalJSON() ([]byte, error)

func (*SmallPayload) MarshalJSONBuf

func (mj *SmallPayload) MarshalJSONBuf(buf fflib.EncodingBuffer) error

func (*SmallPayload) MarshalJSONObject

func (v *SmallPayload) MarshalJSONObject(enc *gojay.Encoder)

MarshalJSONObject implements gojay's MarshalerJSONObject

func (*SmallPayload) NKeys

func (v *SmallPayload) NKeys() int

NKeys returns the number of keys to unmarshal

func (*SmallPayload) UnmarshalEasyJSON

func (v *SmallPayload) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SmallPayload) UnmarshalJSON

func (uj *SmallPayload) UnmarshalJSON(input []byte) error

func (*SmallPayload) UnmarshalJSONFFLexer

func (uj *SmallPayload) UnmarshalJSONFFLexer(fs *fflib.FFLexer, state fflib.FFParseState) error

func (*SmallPayload) UnmarshalJSONObject

func (v *SmallPayload) UnmarshalJSONObject(dec *gojay.Decoder, k string) error

UnmarshalJSONObject implements gojay's UnmarshalerJSONObject

Directories

Path Synopsis
cmd
doc
gen

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL