npm

@aegenet/belt-array-string-join
TypeScript icon, indicating that this package has built-in type declarations

2.2.0 • Public • Published

npm version

@aegenet/belt-array-string-join

Join & Concat Array of Strings

/!\ The performance improvement is NOT relevant if you use ts-node.

💾 Installation

yarn add @aegenet/belt-array-string-join@^2.0.0
# or
npm i @aegenet/belt-array-string-join@^2.0.0

📝 Usage

import { stringJoin, stringConcat } from '@aegenet/belt-array-string-join';

stringConcat(['Hello', ' ', 'Boris']); // 'Hello Boris'
stringConcat(['Hello', ' ', 'Boris', 1]); // ' Boris'
stringConcat(['Hello', ' ', 'Boris', 2]); // 'Boris'

stringJoin(['Hello', 'Boris'], ' '); // 'Hello Boris'
stringJoin(['Hello', 'Boris'], ' ', 1); // 'Boris'

Benchmark

stringJoin

┌─────────┬──────────────────┬────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────┬────────────┐
│ (index) │        name      │  laps  │   fastest   │  slowest    │   average   │    p50 <    │     p75     │     p90     │ ratio % │  duration  │
├─────────┼──────────────────┼────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────┼────────────┤
│    0    │   'stringJoin()' │ 100000 │ '199.91 ns' │  '1.94 ms'  │ '398.16 ns' │ '300.05 ns' │ '300.05 ns' │ '400.07 ns' │ '0.00'  │ '39.82 ms' │
│    1    │ 'samples.join()' │ 100000 │ '399.95 ns' │ '814.70 μs' │ '506.69 ns' │ '400.07 ns' │ '499.96 ns' │ '599.98 ns' │ '49.98' │ '50.67 ms' │
└─────────┴──────────────────┴────────┴─────────────┴─────────────┴─────────────┴─────────────┴─────────────┴─────────────┴─────────┴────────────┘
┌─────────┬───────────────────────┬────────┬─────────────┬───────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────┬────────────┐
│ (index) │         name          │  laps  │   fastest   │  slowest  │   average   │    p50 <    │     p75     │     p90     │ ratio % │  duration  │
├─────────┼───────────────────────┼────────┼─────────────┼───────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────┼────────────┤
│    0    │   "stringJoin(' - ')" │ 100000 │ '199.91 ns' │ '1.27 ms' │ '479.39 ns' │ '300.05 ns' │ '300.05 ns' │ '399.95 ns' │ '0.00'  │ '47.94 ms' │
│    1    │ 'samples.join(" - ")' │ 100000 │ '399.95 ns' │ '1.21 ms' │ '487.71 ns' │ '499.96 ns' │ '499.96 ns' │ '500.08 ns' │ '49.99' │ '48.77 ms' │
└─────────┴───────────────────────┴────────┴─────────────┴───────────┴─────────────┴─────────────┴─────────────┴─────────────┴─────────┴────────────┘
┌─────────┬─────────────────────────────────────┬────────┬─────────────┬───────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────┬────────────┐
│ (index) │               name                  │  laps  │   fastest   │  slowest  │   average   │    p50 <    │     p75     │     p90     │ ratio % │  duration  │
├─────────┼─────────────────────────────────────┼────────┼─────────────┼───────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────┼────────────┤
│    0    │ "stringJoin(samples, ' - ', 1, 5)"  │ 100000 │ '199.91 ns' │ '1.39 ms' │ '372.70 ns' │ '300.05 ns' │ '300.05 ns' │ '399.95 ns' │ '0.00'  │ '37.27 ms' │
│    1    │ 'samples.slice(1, 5).join(" - ")'   │ 100000 │ '299.93 ns' │ '1.50 ms' │ '563.11 ns' │ '400.07 ns' │ '499.96 ns' │ '500.08 ns' │ '40.00' │ '56.31 ms' │
└─────────┴─────────────────────────────────────┴────────┴─────────────┴───────────┴─────────────┴─────────────┴─────────────┴─────────────┴─────────┴────────────┘

stringConcat

┌─────────┬──────────────────────┬────────┬─────────────┬───────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────┬────────────┐
│ (index) │        name          │  laps  │   fastest   │  slowest  │   average   │    p50 <    │     p75     │     p90     │ ratio % │  duration  │
├─────────┼──────────────────────┼────────┼─────────────┼───────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────┼────────────┤
│    0    │   'stringConcat()'   │ 100000 │ '199.91 ns' │ '1.25 ms' │ '324.42 ns' │ '299.93 ns' │ '300.05 ns' │ '300.05 ns' │ '0.00'  │ '32.44 ms' │
│    1    │ 'String.concat();'   │ 100000 │ '199.91 ns' │ '1.51 ms' │ '396.50 ns' │ '300.05 ns' │ '300.05 ns' │ '399.95 ns' │ '11.11' │ '39.65 ms' │
│    2    │  'samples.join()'    │ 100000 │ '399.95 ns' │ '1.29 ms' │ '524.82 ns' │ '400.07 ns' │ '499.96 ns' │ '500.08 ns' │ '55.56' │ '52.48 ms' │
└─────────┴──────────────────────┴────────┴─────────────┴───────────┴─────────────┴─────────────┴─────────────┴─────────────┴─────────┴────────────┘
┌─────────┬─────────────────────────────────────────┬────────┬─────────────┬───────────┬─────────────┬─────────────┬─────────────┬─────────────┬─────────┬────────────┐
│ (index) │                  name                   │  laps  │   fastest   │  slowest  │   average   │    p50 <    │     p75     │     p90     │ ratio % │  duration  │
├─────────┼─────────────────────────────────────────┼────────┼─────────────┼───────────┼─────────────┼─────────────┼─────────────┼─────────────┼─────────┼────────────┤
│    0    │       'stringConcat(samples, 1, 5)'     │ 100000 │ '199.91 ns' │ '1.58 ms' │ '381.89 ns' │ '299.93 ns' │ '300.05 ns' │ '399.95 ns' │ '0.00'  │ '38.19 ms' │
│    1    │ 'String.concat(...samples.slice(1, 5))' │ 100000 │ '199.91 ns' │ '1.75 ms' │ '471.22 ns' │ '300.05 ns' │ '399.95 ns' │ '400.07 ns' │ '10.01' │ '47.12 ms' │
└─────────┴─────────────────────────────────────────┴────────┴─────────────┴───────────┴─────────────┴─────────────┴─────────────┴─────────────┴─────────┴────────────┘

Readme

Keywords

Package Sidebar

Install

npm i @aegenet/belt-array-string-join

Weekly Downloads

19

Version

2.2.0

License

MIT

Unpacked Size

14.7 kB

Total Files

7

Last publish

Collaborators

  • agenet