A fast 450b sprintf & vsprintf format specifier focused on strings with no dependencies. ⚡
Note: sprintf
and vsprintf
will treat their arguments as strings only. If you are looking for the full specification you could try sprintf.js or printj.
yarn add sprintfit
npm install sprintfit
UMD file is also available on unpkg:
<script src="https://unpkg.com/sprintfit/sprintfit.umd.min.js"></script>
You can use the library via window.sprintfit
.
Return a formatted string and accepts a variable number of arguments.
import { sprintf } from 'sprintfit'
sprintf('date: %s-%s-%s', 2018, 07, 25)
// date: 2018-07-25
Operates as sprintf()
but accepts an array of arguments.
import { vsprintf } from 'sprintfit'
vsprintf('date: %s-%s-%s', [ 2018, 07, 28 ])
// date: 2018-07-28
- Node:
v8.11.3
- BenchmarkJS:
^2.1.4
- Sprintf-js:
^1.1.1
- Printj:
^1.1.2
yarn build
yarn benchmark
🚀 Try beanchmark online
package | ops/sec | rme |
---|---|---|
Sprintfit | 2,601,688 | ±5.19% (77 runs sampled) |
SprintfJS | 1,117,038 | ±1.66% (60 runs sampled) |
PrintJ | 1,046,954 | ±2.78% (91 runs sampled) |
Done in 18.00s.
package | ops/sec | rme |
---|---|---|
Sprintfit | 2,774,358 | ±4.03% (79 runs sampled) |
PrintJ | 905,327 | ±3.64% (79 runs sampled) |
SprintfJS | 675,621 | ±7.06% (63 runs sampled) |
Done in 18.34s.
Node: v12.16.1
# sprintf
1) Sprintfit: sprintf() x 2,041,472 ops/sec ±3.13% (83 runs sampled)
2) SprintfJS: sprintf() x 915,427 ops/sec ±2.79% (84 runs sampled)
3) PrintJ: sprintf() x 1,114,252 ops/sec ±3.55% (79 runs sampled)
Fastest is 1) Sprintfit: sprintf()
# vsprintf
1) Sprintfit: vsprintf() x 2,281,271 ops/sec ±0.52% (91 runs sampled)
2) SprintfJS: vsprintf() x 704,705 ops/sec ±2.24% (84 runs sampled)
3) PrintJ: vsprintf() x 1,193,415 ops/sec ±2.13% (83 runs sampled)
Fastest is 1) Sprintfit: vsprintf()
Done in 36.05s.
Feel free to send some Pull request or issue.
MIT license
© 2018-present Jose Quintana