@@ -30,12 +30,19 @@ const bench = common.createBenchmark(main, {
3030 ]
3131} ) ;
3232
33+ function run ( fn , n , actual , expected ) {
34+ bench . start ( ) ;
35+ for ( var i = 0 ; i < n ; ++ i ) {
36+ fn ( actual , expected ) ;
37+ }
38+ bench . end ( n ) ;
39+ }
40+
3341function main ( { n, len, primitive, method } ) {
3442 const prim = primValues [ primitive ] ;
3543 const actual = [ ] ;
3644 const expected = [ ] ;
3745 const expectedWrong = [ ] ;
38- var i ;
3946
4047 for ( var x = 0 ; x < len ; x ++ ) {
4148 actual . push ( prim ) ;
@@ -51,69 +58,37 @@ function main({ n, len, primitive, method }) {
5158 const expectedWrongSet = new Set ( expectedWrong ) ;
5259
5360 switch ( method ) {
61+ // Empty string falls through to next line as default, mostly for tests.
5462 case '' :
55- // Empty string falls through to next line as default, mostly for tests.
5663 case 'deepEqual_Array' :
57- bench . start ( ) ;
58- for ( i = 0 ; i < n ; ++ i ) {
59- // eslint-disable-next-line no-restricted-properties
60- assert . deepEqual ( actual , expected ) ;
61- }
62- bench . end ( n ) ;
64+ // eslint-disable-next-line no-restricted-properties
65+ run ( assert . deepEqual , n , actual , expected ) ;
6366 break ;
6467 case 'deepStrictEqual_Array' :
65- bench . start ( ) ;
66- for ( i = 0 ; i < n ; ++ i ) {
67- assert . deepStrictEqual ( actual , expected ) ;
68- }
69- bench . end ( n ) ;
68+ run ( assert . deepStrictEqual , n , actual , expected ) ;
7069 break ;
7170 case 'notDeepEqual_Array' :
72- bench . start ( ) ;
73- for ( i = 0 ; i < n ; ++ i ) {
74- // eslint-disable-next-line no-restricted-properties
75- assert . notDeepEqual ( actual , expectedWrong ) ;
76- }
77- bench . end ( n ) ;
71+ // eslint-disable-next-line no-restricted-properties
72+ run ( assert . notDeepEqual , n , actual , expectedWrong ) ;
7873 break ;
7974 case 'notDeepStrictEqual_Array' :
80- bench . start ( ) ;
81- for ( i = 0 ; i < n ; ++ i ) {
82- assert . notDeepStrictEqual ( actual , expectedWrong ) ;
83- }
84- bench . end ( n ) ;
75+ run ( assert . notDeepStrictEqual , n , actual , expectedWrong ) ;
8576 break ;
8677 case 'deepEqual_Set' :
87- bench . start ( ) ;
88- for ( i = 0 ; i < n ; ++ i ) {
89- // eslint-disable-next-line no-restricted-properties
90- assert . deepEqual ( actualSet , expectedSet ) ;
91- }
92- bench . end ( n ) ;
78+ // eslint-disable-next-line no-restricted-properties
79+ run ( assert . deepEqual , n , actualSet , expectedSet ) ;
9380 break ;
9481 case 'deepStrictEqual_Set' :
95- bench . start ( ) ;
96- for ( i = 0 ; i < n ; ++ i ) {
97- assert . deepStrictEqual ( actualSet , expectedSet ) ;
98- }
99- bench . end ( n ) ;
82+ run ( assert . deepStrictEqual , n , actualSet , expectedSet ) ;
10083 break ;
10184 case 'notDeepEqual_Set' :
102- bench . start ( ) ;
103- for ( i = 0 ; i < n ; ++ i ) {
104- // eslint-disable-next-line no-restricted-properties
105- assert . notDeepEqual ( actualSet , expectedWrongSet ) ;
106- }
107- bench . end ( n ) ;
85+ // eslint-disable-next-line no-restricted-properties
86+ run ( assert . notDeepEqual , n , actualSet , expectedWrongSet ) ;
10887 break ;
10988 case 'notDeepStrictEqual_Set' :
110- bench . start ( ) ;
111- for ( i = 0 ; i < n ; ++ i ) {
112- assert . notDeepStrictEqual ( actualSet , expectedWrongSet ) ;
113- }
114- bench . end ( n ) ;
89+ run ( assert . notDeepStrictEqual , n , actualSet , expectedWrongSet ) ;
11590 break ;
11691 default :
117- throw new Error ( ' Unsupported method' ) ;
92+ throw new Error ( ` Unsupported method " ${ method } "` ) ;
11893 }
11994}
0 commit comments