| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent b3a8e95 commit 22c25de
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 | |
|---|---|---|---|
@@ -677,10 +677,14 @@ Buffer.prototype.write = function(string, offset, length, encoding) { | |||
| 677 | 677 | ||
| 678 | 678 | ||
| 679 | 679 | Buffer.prototype.toJSON = function() { | |
| 680 | - return { | ||
| 681 | - type: 'Buffer', | ||
| 682 | - data: Array.prototype.slice.call(this, 0) | ||
| 683 | - }; | ||
| 680 | + if (this.length) { | ||
| 681 | + const data = []; | ||
| 682 | + for (var i = 0; i < this.length; ++i) | ||
| 683 | + data[i] = this[i]; | ||
| 684 | + return { type: 'Buffer', data }; | ||
| 685 | + } else { | ||
| 686 | + return { type: 'Buffer', data: [] }; | ||
| 687 | + } | ||
| 684 | 688 | }; | |
| 685 | 689 | ||
| 686 | 690 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments