File tree Expand file tree Collapse file tree 5 files changed +158
-0
lines changed Expand file tree Collapse file tree 5 files changed +158
-0
lines changed Original file line number Diff line number Diff line change 20
20
before_install :
21
21
# Skip updating shrinkwrap / lock
22
22
- " npm config set shrinkwrap false"
23
+ # Remove all non-test dependencies
24
+ - " npm rm --save-dev benchmark beautify-benchmark"
23
25
# Setup Node.js version-specific dependencies
24
26
- " test $TRAVIS_NODE_VERSION != '0.6' || npm rm --save-dev nyc"
25
27
- " test $TRAVIS_NODE_VERSION != '0.8' || npm rm --save-dev nyc"
Original file line number Diff line number Diff line change
1
+ var benchmark = require ( 'benchmark' ) ;
2
+ var benchmarks = require ( 'beautify-benchmark' ) ;
3
+
4
+ global . SqlString = require ( '..' ) ;
5
+
6
+ global . arr = [ 42 , 'foobar' ] ;
7
+ global . buf = new Buffer ( 'foobar' ) ;
8
+ global . date = new Date ( 0 ) ;
9
+ global . func = { toSqlString : function ( ) { return 'NOW()' ; } } ;
10
+ global . num = 42 ;
11
+ global . obj = { foo : 'bar' } ;
12
+ global . str = 'foobar' ;
13
+
14
+ var suite = new benchmark . Suite ( ) ;
15
+
16
+ suite . add ( {
17
+ name : 'array' ,
18
+ minSamples : 100 ,
19
+ fn : 'var val = SqlString.escape(arr);'
20
+ } ) ;
21
+
22
+ suite . add ( {
23
+ name : 'boolean' ,
24
+ minSamples : 100 ,
25
+ fn : 'var val = SqlString.escape(true);'
26
+ } ) ;
27
+
28
+ suite . add ( {
29
+ name : 'date' ,
30
+ minSamples : 100 ,
31
+ fn : 'var val = SqlString.escape(date);'
32
+ } ) ;
33
+
34
+ suite . add ( {
35
+ name : 'function' ,
36
+ minSamples : 100 ,
37
+ fn : 'var val = SqlString.escape(func);'
38
+ } ) ;
39
+
40
+ suite . add ( {
41
+ name : 'null' ,
42
+ minSamples : 100 ,
43
+ fn : 'var val = SqlString.escape(null);'
44
+ } ) ;
45
+
46
+ suite . add ( {
47
+ name : 'number' ,
48
+ minSamples : 100 ,
49
+ fn : 'var val = SqlString.escape(num);'
50
+ } ) ;
51
+
52
+ suite . add ( {
53
+ name : 'object' ,
54
+ minSamples : 100 ,
55
+ fn : 'var val = SqlString.escape(obj);'
56
+ } ) ;
57
+
58
+ suite . add ( {
59
+ name : 'string' ,
60
+ minSamples : 100 ,
61
+ fn : 'var val = SqlString.escape(str);'
62
+ } ) ;
63
+
64
+ suite . on ( 'start' , function onCycle ( ) {
65
+ process . stdout . write ( ' escape\n\n' ) ;
66
+ } ) ;
67
+
68
+ suite . on ( 'cycle' , function onCycle ( event ) {
69
+ benchmarks . add ( event . target ) ;
70
+ } ) ;
71
+
72
+ suite . on ( 'complete' , function onComplete ( ) {
73
+ benchmarks . log ( ) ;
74
+ } ) ;
75
+
76
+ suite . run ( { async : false } ) ;
Original file line number Diff line number Diff line change
1
+ var benchmark = require ( 'benchmark' ) ;
2
+ var benchmarks = require ( 'beautify-benchmark' ) ;
3
+
4
+ global . SqlString = require ( '..' ) ;
5
+
6
+ var suite = new benchmark . Suite ( ) ;
7
+
8
+ suite . add ( {
9
+ name : '"col"' ,
10
+ minSamples : 100 ,
11
+ fn : 'var val = SqlString.escapeId("col");'
12
+ } ) ;
13
+
14
+ suite . add ( {
15
+ name : '"tbl.col"' ,
16
+ minSamples : 100 ,
17
+ fn : 'var val = SqlString.escapeId("tbl.col");'
18
+ } ) ;
19
+
20
+ suite . add ( {
21
+ name : '["col1", "col2"]' ,
22
+ minSamples : 100 ,
23
+ fn : 'var val = SqlString.escapeId(["col1", "col2"]);'
24
+ } ) ;
25
+
26
+ suite . on ( 'start' , function onCycle ( ) {
27
+ process . stdout . write ( ' escapeId\n\n' ) ;
28
+ } ) ;
29
+
30
+ suite . on ( 'cycle' , function onCycle ( event ) {
31
+ benchmarks . add ( event . target ) ;
32
+ } ) ;
33
+
34
+ suite . on ( 'complete' , function onComplete ( ) {
35
+ benchmarks . log ( ) ;
36
+ } ) ;
37
+
38
+ suite . run ( { async : false } ) ;
Original file line number Diff line number Diff line change
1
+ var fs = require ( 'fs' ) ;
2
+ var path = require ( 'path' ) ;
3
+ var spawn = require ( 'child_process' ) . spawn ;
4
+
5
+ var exe = process . argv [ 0 ] ;
6
+ var cwd = process . cwd ( ) ;
7
+
8
+ for ( var dep in process . versions ) {
9
+ console . log ( ' %s@%s' , dep , process . versions [ dep ] ) ;
10
+ }
11
+
12
+ console . log ( '' ) ;
13
+
14
+ runScripts ( fs . readdirSync ( __dirname ) ) ;
15
+
16
+ function runScripts ( fileNames ) {
17
+ var fileName = fileNames . shift ( ) ;
18
+
19
+ if ( ! fileName ) {
20
+ return ;
21
+ }
22
+
23
+ if ( ! / \. j s $ / i. test ( fileName ) || fileName . toLowerCase ( ) === 'index.js' ) {
24
+ runScripts ( fileNames ) ;
25
+ return ;
26
+ }
27
+
28
+ var fullPath = path . join ( __dirname , fileName ) ;
29
+
30
+ console . log ( '> %s %s' , exe , path . relative ( cwd , fullPath ) ) ;
31
+
32
+ var proc = spawn ( exe , [ fullPath ] , {
33
+ 'stdio' : 'inherit'
34
+ } ) ;
35
+
36
+ proc . on ( 'exit' , function ( ) {
37
+ runScripts ( fileNames ) ;
38
+ } ) ;
39
+ }
Original file line number Diff line number Diff line change 18
18
],
19
19
"repository" : " mysqljs/sqlstring" ,
20
20
"devDependencies" : {
21
+ "beautify-benchmark" : " 0.2.4" ,
22
+ "benchmark" : " 2.1.4" ,
21
23
"eslint" : " 4.7.2" ,
22
24
"eslint-plugin-markdown" : " 1.0.0-beta.6" ,
23
25
"nyc" : " 10.3.2" ,
35
37
"node" : " >= 0.6"
36
38
},
37
39
"scripts" : {
40
+ "bench" : " node benchmark/index.js" ,
38
41
"lint" : " eslint --plugin markdown --ext js,md ." ,
39
42
"test" : " node test/run.js" ,
40
43
"test-ci" : " nyc --reporter=text npm test" ,
You can’t perform that action at this time.
0 commit comments