| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 5fd0f9a commit a114f63
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,18 @@ | |||
| 1 | + 'use strict'; | ||
| 2 | + | ||
| 3 | + const common = require('../common.js'); | ||
| 4 | + | ||
| 5 | + const bench = common.createBenchmark(main, { | ||
| 6 | + n: [1e4], | ||
| 7 | + len: [0, 10, 256, 4 * 1024] | ||
| 8 | + }); | ||
| 9 | + | ||
| 10 | + function main(conf) { | ||
| 11 | + var n = +conf.n; | ||
| 12 | + var buf = Buffer.allocUnsafe(+conf.len); | ||
| 13 | + | ||
| 14 | + bench.start(); | ||
| 15 | + for (var i = 0; i < n; ++i) | ||
| 16 | + buf.toJSON(); | ||
| 17 | + bench.end(n); | ||
| 18 | + } | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -793,10 +793,14 @@ Buffer.prototype.write = function(string, offset, length, encoding) { | |||
| 793 | 793 | ||
| 794 | 794 | ||
| 795 | 795 | Buffer.prototype.toJSON = function() { | |
| 796 | - return { | ||
| 797 | - type: 'Buffer', | ||
| 798 | - data: Array.prototype.slice.call(this, 0) | ||
| 799 | - }; | ||
| 796 | + if (this.length) { | ||
| 797 | + const data = []; | ||
| 798 | + for (var i = 0; i < this.length; ++i) | ||
| 799 | + data[i] = this[i]; | ||
| 800 | + return { type: 'Buffer', data }; | ||
| 801 | + } else { | ||
| 802 | + return { type: 'Buffer', data: [] }; | ||
| 803 | + } | ||
| 800 | 804 | }; | |
| 801 | 805 | ||
| 802 | 806 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments