Skip to content

Commit

Permalink
lib: simplify code with String.prototype.repeat()
Browse files Browse the repository at this point in the history
use String.prototype.repeat() to simplify code, less code,
more semantically.

PR-URL: #5359
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information
JacksonTian authored and jasnell committed Mar 21, 2016
1 parent bac6c85 commit 4d78121
Show file tree
Hide file tree
Showing 14 changed files with 18 additions and 70 deletions.
14 changes: 3 additions & 11 deletions benchmark/http_simple.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ var http = require('http');

var port = parseInt(process.env.PORT || 8000);

var fixed = makeString(20 * 1024, 'C'),
var fixed = 'C'.repeat(20 * 1024),
storedBytes = {},
storedBuffer = {},
storedUnicode = {};
Expand Down Expand Up @@ -42,7 +42,7 @@ var server = module.exports = http.createServer(function(req, res) {
if (n <= 0)
throw new Error('bytes called with n <= 0');
if (storedBytes[n] === undefined) {
storedBytes[n] = makeString(n, 'C');
storedBytes[n] = 'C'.repeat(n);
}
body = storedBytes[n];

Expand All @@ -63,7 +63,7 @@ var server = module.exports = http.createServer(function(req, res) {
if (n <= 0)
throw new Error('unicode called with n <= 0');
if (storedUnicode[n] === undefined) {
storedUnicode[n] = makeString(n, '\u263A');
storedUnicode[n] = '\u263A'.repeat(n);
}
body = storedUnicode[n];

Expand Down Expand Up @@ -107,14 +107,6 @@ var server = module.exports = http.createServer(function(req, res) {
}
});

function makeString(size, c) {
var s = '';
while (s.length < size) {
s += c;
}
return s;
}

server.listen(port, function() {
if (module === require.main)
console.error('Listening at http://127.0.0.1:' + port + '/');
Expand Down
11 changes: 2 additions & 9 deletions benchmark/http_simple_auto.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,7 @@ var spawn = require('child_process').spawn;

var port = parseInt(process.env.PORT || 8000);

var fixed = '';
var i;
for (i = 0; i < 20 * 1024; i++) {
fixed += 'C';
}
var fixed = "C".repeat(20 * 1024);

var stored = {};
var storedBuffer = {};
Expand All @@ -36,10 +32,7 @@ var server = http.createServer(function(req, res) {
if (n <= 0)
throw new Error('bytes called with n <= 0');
if (stored[n] === undefined) {
stored[n] = '';
for (i = 0; i < n; i++) {
stored[n] += 'C';
}
stored[n] = "C".repeat(n);
}
body = stored[n];

Expand Down
5 changes: 1 addition & 4 deletions benchmark/static_http_server.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,7 @@ var bytes = 1024 * 5;
var requests = 0;
var responses = 0;

var body = '';
for (var i = 0; i < bytes; i++) {
body += 'C';
}
var body = 'C'.repeat(bytes);

var server = http.createServer(function(req, res) {
res.writeHead(200, {
Expand Down
6 changes: 1 addition & 5 deletions lib/_debugger.js
Original file line number Diff line number Diff line change
Expand Up @@ -1016,11 +1016,7 @@ function leftPad(n, prefix, maxN) {
const nchars = Math.max(2, String(maxN).length) + 1;
const nspaces = nchars - s.length - 1;

for (var i = 0; i < nspaces; i++) {
prefix += ' ';
}

return prefix + s;
return prefix + ' '.repeat(nspaces) + s;
}


Expand Down
7 changes: 1 addition & 6 deletions test/fixtures/print-chars.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,4 @@ var assert = require('assert');

var n = parseInt(process.argv[2]);

var s = '';
for (var i = 0; i < n; i++) {
s += 'c';
}

process.stdout.write(s);
process.stdout.write('c'.repeat(n));
5 changes: 1 addition & 4 deletions test/parallel/test-buffer.js
Original file line number Diff line number Diff line change
Expand Up @@ -681,10 +681,7 @@ assert.equal(Buffer('=bad'.repeat(1e4), 'base64').length, 0);
{
// Creating buffers larger than pool size.
const l = Buffer.poolSize + 5;
let s = '';
for (let i = 0; i < l; i++) {
s += 'h';
}
const s = 'h'.repeat(l);

const b = new Buffer(s);

Expand Down
2 changes: 1 addition & 1 deletion test/parallel/test-fs-realpath.js
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ function test_cyclic_link_overprotection(callback) {
var folder = cycles + '/folder';
var link = folder + '/cycles';
var testPath = cycles;
for (var i = 0; i < 10; i++) testPath += '/folder/cycles';
testPath += '/folder/cycles'.repeat(10);
try {fs.unlinkSync(link);} catch (ex) {}
fs.symlinkSync(cycles, link, 'dir');
unlink.push(link);
Expand Down
5 changes: 1 addition & 4 deletions test/parallel/test-http-full-response.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,7 @@ var exec = require('child_process').exec;

var bodyLength = 12345;

var body = '';
for (var i = 0; i < bodyLength; i++) {
body += 'c';
}
var body = 'c'.repeat(bodyLength);

var server = http.createServer(function(req, res) {
res.writeHead(200, {
Expand Down
5 changes: 2 additions & 3 deletions test/parallel/test-http-pipeline-regr-2639.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,8 @@ var server = http.createServer(function(req, res) {
}).listen(common.PORT, function() {
const s = net.connect(common.PORT);

var big = '';
for (var i = 0; i < COUNT; i++)
big += 'GET / HTTP/1.0\r\n\r\n';
var big = 'GET / HTTP/1.0\r\n\r\n'.repeat(COUNT);

s.write(big);
s.resume();
});
Expand Down
5 changes: 1 addition & 4 deletions test/parallel/test-net-large-string.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@ var assert = require('assert');
var net = require('net');

var kPoolSize = 40 * 1024;
var data = '';
for (var i = 0; i < kPoolSize; ++i) {
data += 'あ'; // 3bytes
}
var data = 'あ'.repeat(kPoolSize);
var receivedSize = 0;
var encoding = 'UTF-8';

Expand Down
5 changes: 1 addition & 4 deletions test/pummel/test-https-large-response.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,9 @@ var options = {
};

var reqCount = 0;
var body = '';

process.stdout.write('build body...');
for (var i = 0; i < 1024 * 1024; i++) {
body += 'hello world\n';
}
var body = 'hello world\n'.repeat(1024 * 1024);
process.stdout.write('done\n');

var server = https.createServer(options, function(req, res) {
Expand Down
5 changes: 1 addition & 4 deletions test/pummel/test-net-many-clients.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,7 @@ var connections_per_client = 5;
// measured
var total_connections = 0;

var body = '';
for (var i = 0; i < bytes; i++) {
body += 'C';
}
var body = 'C'.repeat(bytes);

var server = net.createServer(function(c) {
console.log('connected');
Expand Down
5 changes: 1 addition & 4 deletions test/pummel/test-net-throttle.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,7 @@ var chars_recved = 0;
var npauses = 0;

console.log('build big string');
var body = '';
for (var i = 0; i < N; i++) {
body += 'C';
}
body = 'C'.repeat(N);

console.log('start server on port ' + common.PORT);

Expand Down
8 changes: 1 addition & 7 deletions test/pummel/test-tls-throttle.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,10 @@ if (!common.hasCrypto) {
var tls = require('tls');
var fs = require('fs');


var body = '';

process.stdout.write('build body...');
for (var i = 0; i < 1024 * 1024; i++) {
body += 'hello world\n';
}
var body = 'hello world\n'.repeat(1024 * 1024);
process.stdout.write('done\n');


var options = {
key: fs.readFileSync(common.fixturesDir + '/keys/agent2-key.pem'),
cert: fs.readFileSync(common.fixturesDir + '/keys/agent2-cert.pem')
Expand Down

0 comments on commit 4d78121

Please sign in to comment.