node: improve performance of process.hrtime()
Move argument validation out of C++ and into JS. Improves performance by about 15-20%.
Benchmark comparisons between current master and this branch are below:
$ node benchmark/compare.js ./node ./node_before -- misc bench-hrtime
running ./node
misc/bench-hrtime.js
running ./node_before
misc/bench-hrtime.js
misc/bench-hrtime.js n=1000000: ./node: 13037000 ./node_before: 10677000 . 22.11%
$ node benchmark/compare.js ./node ./node_before -- misc bench-hrtime
running ./node
misc/bench-hrtime.js
running ./node_before
misc/bench-hrtime.js
misc/bench-hrtime.js n=1000000: ./node: 12954000 ./node_before: 10642000 . 21.73%
$ node benchmark/compare.js ./node ./node_before -- misc bench-hrtime
running ./node
misc/bench-hrtime.js
running ./node_before
misc/bench-hrtime.js
misc/bench-hrtime.js n=1000000: ./node: 13322000 ./node_before: 10770000 . 23.69%
R= @trevnorris