This is a string formatter like util.format()
method in Node.js, supports just only %s
placeholder but accordingly faster than that. It will be one of the best solution if need a speed rather than complex formatting.
Same as util.format()
method.
format(formatString[, ...])
If use one formatting repeatedly, recommended to compile the formatString
in advance.
format.compile(formatString)
let s = format('%s, %s!', 'Hello', 'world');
console.log(s); // => 'Hello, world!'
let f = format.compile('%s, %s!');
let s1 = f('Hello', 'world');
console.log(s1); // => 'Hello, world!'
let s2 = f('Howdy', 'World');
console.log(s2); // => 'Howdy, World!'
// Bench 1
let s = Date.now();
for (let i = 0, len = 100000000; i < len; i++) {
format('i = %s, len = %s', i, len);
}
console.log(Date.now() - s);
// Bench 2
let s = Date.now();
let f = format.compile('i = %s, len = %s');
for (let i = 0, len = 100000000; i < len; i++) {
f(i, len);
}
console.log(Date.now() - s);
environment1: Core i7 2.2GHz + Node.js v6.9.5
module | time | bench |
---|---|---|
fast-format | 12,388 msec | 2 |
fast-format | 22,039 msec | 1 |
util.format | 28,659 msec | 1 |
environment2: Core i7 2.2GHz + Google Chrome 56.0.2924.87
module | time | bench |
---|---|---|
fast-format | 12,898 msec | 2 |
fast-format | 22,705 msec | 1 |
util.format | 99,103 msec | 1 |
The util.format()
method was converted with Browserify
to run on the browser.
npm install fast-format --save
bower install fast-format
<script src="/path/to/fast-format.min.js"></script>
Google Chrome, Firefox, Safari, Opera, Microsoft Edge and IE 6+
MIT