mafintosh/protocol-buffers — pull request #21 by brendan-ward (2014-12-20 06:00:18+00:00)
Title: Updated default value handling for optional fields

This resolves #20

This PR sets default values to ```null``` during decoding for all optional fields that do not have default values assigned in the schema.

It adds support for ```float``` and ```double``` default values defined in the schema.

It migrates the benchmarks to use [benchmarks.js](https://github.com/bestiejs/benchmark.js) to make it easier to add additional benchmarks. Note the new dependency in ```package.json```.

To compare the performance of this PR to ```master```, simply copy ```bench/index.js``` to a new, nonversioned file and run that directly in the ```master``` branch. I was getting comparable numbers between this PR and ```master``` within the range of variability between tests in general.

This adds new tests of optional fields.