File tree 1 file changed +42
-0
lines changed
1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change
1
+ 'use strict' ;
2
+ const common = require ( '../common.js' ) ;
3
+
4
+ const {
5
+ PassThrough,
6
+ Readable,
7
+ Writable,
8
+ compose,
9
+ } = require ( 'node:stream' ) ;
10
+
11
+ const bench = common . createBenchmark ( main , {
12
+ n : [ 1e3 ] ,
13
+ } ) ;
14
+
15
+ function main ( { n } ) {
16
+ const cachedPassThroughs = [ ] ;
17
+ const cachedReadables = [ ] ;
18
+ const cachedWritables = [ ] ;
19
+
20
+ for ( let i = 0 ; i < n ; i ++ ) {
21
+ const numberOfPassThroughs = 100 ;
22
+ const passThroughs = [ ] ;
23
+
24
+ for ( let i = 0 ; i < numberOfPassThroughs ; i ++ ) {
25
+ passThroughs . push ( new PassThrough ( ) ) ;
26
+ }
27
+
28
+ const readable = Readable . from ( [ 'hello' , 'world' ] ) ;
29
+ const writable = new Writable ( { objectMode : true , write : ( chunk , encoding , cb ) => cb ( ) } ) ;
30
+
31
+ cachedPassThroughs . push ( passThroughs ) ;
32
+ cachedReadables . push ( readable ) ;
33
+ cachedWritables . push ( writable ) ;
34
+ }
35
+
36
+ bench . start ( ) ;
37
+ for ( let i = 0 ; i < n ; i ++ ) {
38
+ const composed = compose ( cachedReadables [ i ] , ...cachedPassThroughs [ i ] , cachedWritables [ i ] ) ;
39
+ composed . end ( ) ;
40
+ }
41
+ bench . end ( n ) ;
42
+ }
You can’t perform that action at this time.
0 commit comments