@@ -6,72 +6,48 @@ var ProgressBar = require('progress');
66let bar ;
77
88const standard = async ( name , func , value ) => {
9- // console.log("Running...", name);
10- const result = [
11- ( await ptime . runFunctionRounds (
12- `${ name } 100000` ,
13- func ,
14- [ value ] ,
15- 100000 ,
16- true
17- ) ) . formatted ,
18- ( await ptime . runFunctionRounds (
19- `${ name } 1000000` ,
20- func ,
21- [ value ] ,
22- 1000000 ,
23- true
24- ) ) . formatted ,
25- ( await ptime . runFunctionRounds (
26- `${ name } 10000000` ,
27- func ,
28- [ value ] ,
29- 10000000 ,
30- true
31- ) ) . formatted ,
32- ( await ptime . runFunctionAverage (
33- `${ name } 1` ,
34- func ,
35- [ value ] ,
36- 1000000 ,
37- true
38- ) ) . formatted
39- ]
40-
41- let str = { } ;
42- str [ name ] = result
43- bar . tick ( ) ;
44- return str ;
45- }
9+ // console.log("Running...", name);
10+ const result = [
11+ ( await ptime . runFunctionRounds ( `${ name } 100000` , func , [ value ] , 100000 , true ) ) . formatted ,
12+ ( await ptime . runFunctionRounds ( `${ name } 1000000` , func , [ value ] , 1000000 , true ) ) . formatted ,
13+ ( await ptime . runFunctionRounds ( `${ name } 10000000` , func , [ value ] , 10000000 , true ) ) . formatted ,
14+ ( await ptime . runFunctionAverage ( `${ name } 1` , func , [ value ] , 1000000 , true ) ) . formatted ,
15+ ] ;
16+
17+ let str = { } ;
18+ str [ name ] = result ;
19+ bar . tick ( ) ;
20+ return str ;
21+ } ;
4622
4723const run = async ( ) => {
48- let results = [ ]
49- let linkedStack = new stacks . LinkedStack ( ) ;
50- let uArrayStack = new stacks . UArrayStack ( ) ;
51- let bArrayStack = new stacks . BArrayStack ( 12100000 ) ;
52- bar = new ProgressBar ( ':bar :percent :elapseds total, completes in :etas' , { total : 10 } ) ;
53- bar . tick ( ) ;
54- results . push (
55- await standard ( " LinkedStack Push" , linkedStack . push . bind ( linkedStack ) , 1 ) ,
56- await standard ( " UArrayStack Push" , uArrayStack . push . bind ( uArrayStack ) , 1 ) ,
57- await standard ( " BArrayStack Push" , bArrayStack . push . bind ( bArrayStack ) , 1 ) ,
58- await standard ( " LinkedStack Top" , linkedStack . top . bind ( linkedStack ) , 1 ) ,
59- await standard ( " UArrayStack Top" , uArrayStack . top . bind ( uArrayStack ) , 1 ) ,
60- await standard ( " BArrayStack Top" , bArrayStack . top . bind ( bArrayStack ) , 1 ) ,
61- await standard ( " LinkedStack Pop" , linkedStack . pop . bind ( linkedStack ) , 1 ) ,
62- await standard ( " UArrayStack Pop" , uArrayStack . pop . bind ( uArrayStack ) , 1 ) ,
63- await standard ( " BArrayStack Pop" , bArrayStack . pop . bind ( bArrayStack ) , 1 ) ,
64- )
65-
66- return results ;
67- }
24+ let results = [ ] ;
25+ let linkedStack = new stacks . LinkedStack ( ) ;
26+ let uArrayStack = new stacks . UArrayStack ( ) ;
27+ let bArrayStack = new stacks . BArrayStack ( 12100000 ) ;
28+ bar = new ProgressBar ( ':bar :percent :elapseds total, completes in :etas' , { total : 10 } ) ;
29+ bar . tick ( ) ;
30+ results . push (
31+ await standard ( ' LinkedStack Push' , linkedStack . push . bind ( linkedStack ) , 1 ) ,
32+ await standard ( ' UArrayStack Push' , uArrayStack . push . bind ( uArrayStack ) , 1 ) ,
33+ await standard ( ' BArrayStack Push' , bArrayStack . push . bind ( bArrayStack ) , 1 ) ,
34+ await standard ( ' LinkedStack Top' , linkedStack . top . bind ( linkedStack ) , 1 ) ,
35+ await standard ( ' UArrayStack Top' , uArrayStack . top . bind ( uArrayStack ) , 1 ) ,
36+ await standard ( ' BArrayStack Top' , bArrayStack . top . bind ( bArrayStack ) , 1 ) ,
37+ await standard ( ' LinkedStack Pop' , linkedStack . pop . bind ( linkedStack ) , 1 ) ,
38+ await standard ( ' UArrayStack Pop' , uArrayStack . pop . bind ( uArrayStack ) , 1 ) ,
39+ await standard ( ' BArrayStack Pop' , bArrayStack . pop . bind ( bArrayStack ) , 1 )
40+ ) ;
41+
42+ return results ;
43+ } ;
6844
6945run ( ) . then ( value => {
70- const table = new Table ( {
71- head : [ 'Stack Operation' , '100,000 items' , '1,000,000 items' , '10,000,000 items' , '1 item AVG' ]
72- } ) ;
46+ const table = new Table ( {
47+ head : [ 'Stack Operation' , '100,000 items' , '1,000,000 items' , '10,000,000 items' , '1 item AVG' ] ,
48+ } ) ;
7349
74- table . push ( ...value ) ;
50+ table . push ( ...value ) ;
7551
76- console . log ( table . toString ( ) )
77- } ) ;
52+ console . log ( table . toString ( ) ) ;
53+ } ) ;
0 commit comments