File tree 1 file changed +56
-0
lines changed
1 file changed +56
-0
lines changed Original file line number Diff line number Diff line change
1
+ 'use strict' ;
2
+ const common = require ( '../common.js' ) ;
3
+ const {
4
+ Duplex,
5
+ Readable,
6
+ Transform,
7
+ Writable,
8
+ } = require ( 'stream' ) ;
9
+
10
+ const bench = common . createBenchmark ( main , {
11
+ n : [ 1e6 ] ,
12
+ kind : [ 'duplex' , 'readable' , 'transform' , 'writable' ]
13
+ } ) ;
14
+
15
+ function main ( { n, kind } ) {
16
+ switch ( kind ) {
17
+ case 'duplex' :
18
+ new Duplex ( { } ) ;
19
+ new Duplex ( ) ;
20
+
21
+ bench . start ( ) ;
22
+ for ( let i = 0 ; i < n ; ++ i )
23
+ new Duplex ( ) . destroy ( ) ;
24
+ bench . end ( n ) ;
25
+ break ;
26
+ case 'readable' :
27
+ new Readable ( { } ) ;
28
+ new Readable ( ) ;
29
+
30
+ bench . start ( ) ;
31
+ for ( let i = 0 ; i < n ; ++ i )
32
+ new Readable ( ) . destroy ( ) ;
33
+ bench . end ( n ) ;
34
+ break ;
35
+ case 'writable' :
36
+ new Writable ( { } ) ;
37
+ new Writable ( ) ;
38
+
39
+ bench . start ( ) ;
40
+ for ( let i = 0 ; i < n ; ++ i )
41
+ new Writable ( ) . destroy ( ) ;
42
+ bench . end ( n ) ;
43
+ break ;
44
+ case 'transform' :
45
+ new Transform ( { } ) ;
46
+ new Transform ( ) ;
47
+
48
+ bench . start ( ) ;
49
+ for ( let i = 0 ; i < n ; ++ i )
50
+ new Transform ( ) . destroy ( ) ;
51
+ bench . end ( n ) ;
52
+ break ;
53
+ default :
54
+ throw new Error ( 'Invalid kind' ) ;
55
+ }
56
+ }
You can’t perform that action at this time.
0 commit comments