Profile

Scrapbook photo 1
Scrapbook photo 2
Scrapbook photo 3
Scrapbook photo 4
Scrapbook photo 5
Ugorji Nwoke
280 followers|248,566 views
AboutPostsPhotos

Stream

 
Some of you may already know the go-codec library, as the de-facto go library for messagapack. The library has come a long way since then. 

The New/Improved go-codec is a High Performance, Feature-Rich and Idiomatic Go encoding/decoding library for binc, msgpack, cbor, json, which supports* runtime reflection* or compile-time code generation.

I have published a blog post re-introducing it:
http://ugorji.net/blog/re-introducing-go-codec-library-for-msgpack-binc-cbor-json-and-more

That post links to a series of articles on serialization in go and go-codec in particular:

  - Serialization in Go
  - Re-Introducing Go Codec Library: msgpack, binc, cbor, json and more formats
  - Supporting CBOR Binary Format
  - Yet Another JSON library???
  - Benchmarking Serialization in Go
  - How we gain such extreme performance
  - Code generation for even more performance
  - Detailed primer on how to use the go-codec

Please read and let me know your thoughts.

This has also been published on reddit, hacker news. I would appreciate your comments there also.

https://news.ycombinator.com/item?id=8851199
http://www.reddit.com/r/golang/comments/2rmxs9
New Features provided by go-codec. Currently, go-codec provides best-of-breed support for the following formats: messagepack: binary; binc: binary, symbols; cbor: binary, streaming, explicit map/array delimited NEW; json: text, streaming, explicit delimited NEW ...
13
Magnús Örn Gylfason's profile photoUgorji Nwoke's profile photo
2 comments
 
+Magnús Örn Gylfason Terrible oversight on my part. I  wrote myself a note to do it, and then forgot. Thanks. I have updated articles with a clear link to github now. 
Add a comment...

Ugorji Nwoke

Shared publicly  - 
 
go-codec series: code generation to encode/decode json msgpack cbor; 2X-20X perf

Some folks asked me yesterday that it was not clear what code generation referred to with respect to go-codec, so I am posting the article focused on code generation capabilities.

http://ugorji.net/blog/go-codecgen

This is part on the go-codec series.

Summary:

go-codec supports compile-time generation of encoders and decoders for named types, which does not incur the overhead of reflection in the typical case, giving 2X-20X performance improvement over the idiomatic runtime introspection mode.

Idiomatic encoding and decoding types within go typically relies on the reflection capabilities of the go runtime. This affords flexible performance without the need for a pre-compilation step; the go types contain all the information needed and the runtime exposes the full types via reflection. However, introspecting the runtime to get this information has a noticeable overhead, which can be eliminated by a pre-compilation/code-generation step.

To eliminate that overhead, a pre-compilation step must be done to create the code which would have been inferred at runtime. This is why Protocol Buffers, Avro, etc have better performance than runtime-based systems. go-codec now provides the same capabilities, with the accompanying 2X-20X performance improvement depending on the size and structure of the named type.

More Discussion:
http://redd.it/2rrc0y
https://news.ycombinator.com/item?id=8857369
go-codec supports compile-time generation of encoders and decoders for named types, which does not incur the overhead of reflection in the typical case, giving 2X-20X performance improvement over the idiomatic runtime introspection mode. Idiomatic encoding and decoding types within go typically ...
2
3
G Shields's profile photoSthapaun Patinthu's profile photo
Add a comment...
 
 
We speak up and protest for those who have no voice and whom the system doesn't support. You don't see presidential speeches and huge protests for policemen killed in the line of duty not because we don't care, and not because they matter less, but because they already have a voice. The entire system is there to support and protect them. Who protects the innocent gunned downed in a park or department store aisle? Who speaks out for them?

This isn't about who died. It's about systemic inequality. If I have 12 cents, and you have 6. Giving us both 6 more pennies still leaves us unequal.

If we equally protested the deaths, we'd be preserving the inequality. I'll protest the dead equally when the system treats the living equally.
4 comments on original post
1
Add a comment...

Ugorji Nwoke

Shared publicly  - 
1
Add a comment...

Ugorji Nwoke

Shared publicly  - 
 
Navy Yard. It's hard out here in the streets. 
1
Uche Ojeh's profile photo
 
Thank God you're alright
Add a comment...
 
chilling with Google #glass. exclusive!
7
Nick Sims's profile photoEmeka Ebo's profile photo
2 comments
 
don't you need a head piece?
Add a comment...
Have him in circles
280 people
chike onyekwere's profile photo
Uche Ojeh's profile photo
rerngvit yanggratoke's profile photo
R Walker's profile photo
Ajibola Omoniyi's profile photo
Agus Saifudin's profile photo
Felix Hoenikker's profile photo
Mark J P's profile photo
atanda musa's profile photo

Ugorji Nwoke

Packages  - 
 

go-codec series: code generation to encode/decode json msgpack cbor; 2X-20X perf

Some folks asked me yesterday that it was not clear what code generation referred to with respect to go-codec, so I am posting the article focused on code generation capabilities.

http://ugorji.net/blog/go-codecgen

This is part on the go-codec series.

Summary:

go-codec supports compile-time generation of encoders and decoders for named types, which does not incur the overhead of reflection in the typical case, giving 2X-20X performance improvement over the idiomatic runtime introspection mode.

Idiomatic encoding and decoding types within go typically relies on the reflection capabilities of the go runtime. This affords flexible performance without the need for a pre-compilation step; the go types contain all the information needed and the runtime exposes the full types via reflection. However, introspecting the runtime to get this information has a noticeable overhead, which can be eliminated by a pre-compilation/code-generation step.

To eliminate that overhead, a pre-compilation step must be done to create the code which would have been inferred at runtime. This is why Protocol Buffers, Avro, etc have better performance than runtime-based systems. go-codec now provides the same capabilities, with the accompanying 2X-20X performance improvement depending on the size and structure of the named type.

More Discussion:
http://redd.it/2rrc0y
https://news.ycombinator.com/item?id=8857369
go-codec supports compile-time generation of encoders and decoders for named types, which does not incur the overhead of reflection in the typical case, giving 2X-20X performance improvement over the idiomatic runtime introspection mode. Idiomatic encoding and decoding types within go typically ...
1
Add a comment...

Ugorji Nwoke

Shared publicly  - 
 
Some of you may already know the go-codec library, as the de-facto go library for messagapack. The library has come a long way since then. 

The New/Improved go-codec is a High Performance, Feature-Rich and Idiomatic Go encoding/decoding library for binc, msgpack, cbor, json, which supports* runtime reflection* or compile-time code generation.

I have published a blog post re-introducing it:
http://ugorji.net/blog/re-introducing-go-codec-library-for-msgpack-binc-cbor-json-and-more

That post links to a series of articles on serialization in go and go-codec in particular:

  - Serialization in Go
  - Re-Introducing Go Codec Library: msgpack, binc, cbor, json and more formats
  - Supporting CBOR Binary Format
  - Yet Another JSON library???
  - Benchmarking Serialization in Go
  - How we gain such extreme performance
  - Code generation for even more performance
  - Detailed primer on how to use the go-codec

Please read and let me know your thoughts.

This has also been published on reddit, hacker news. I would appreciate your comments there also.

https://news.ycombinator.com/item?id=8851199
http://www.reddit.com/r/golang/comments/2rmxs9

#go  #golang #technology #json   #cbor   #messagepack   #msgpack  
New Features provided by go-codec. Currently, go-codec provides best-of-breed support for the following formats: messagepack: binary; binc: binary, symbols; cbor: binary, streaming, explicit map/array delimited NEW; json: text, streaming, explicit delimited NEW ...
1
Add a comment...
 
My good friend +Brian Murray  is expanding his business, and needs to be your votes to be considered for a grant. Please cast your votes and share this link with your friends so he gets up to 500. 
1
Add a comment...

Ugorji Nwoke

Shared publicly  - 
 
LOL!
1
Add a comment...

Ugorji Nwoke

Shared publicly  - 
 
SIngle device - android phone, ubuntu phone, ubuntu laptop, with sapphire crystal glass screen edge-to-edge, single metal unibody, fastest multi-core CPU as of 2014, 4G RAM, 128GB flash/ssd speed drive, ... all for $600 pre-pay, and exclusive?wow. Had to sign up. #ubuntuedge  
1
Add a comment...

Ugorji Nwoke

Shared publicly  - 
 
I love Tesla, and believe that a shake up is required for the automotive industry to catch up with the times. "We" need your support. Old business models should not be allowed to keep the industry stagnant.
1
Add a comment...
People
Have him in circles
280 people
chike onyekwere's profile photo
Uche Ojeh's profile photo
rerngvit yanggratoke's profile photo
R Walker's profile photo
Ajibola Omoniyi's profile photo
Agus Saifudin's profile photo
Felix Hoenikker's profile photo
Mark J P's profile photo
atanda musa's profile photo
Work
Occupation
Engineer, Enterpreneur
Story
Tagline
One life! Make it count!
Introduction
One life. Make it count.
_Why: "When you don’t create things, you become defined by your tastes rather than ability. Your tastes only narrow and exclude people. so create."

Bragging rights
Nomad
Basic Information
Gender
Male