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 2020before_install :
2121 # Skip updating shrinkwrap / lock
2222 - " npm config set shrinkwrap false"
23+ # Remove all non-test dependencies
24+ - " npm rm --save-dev benchmark beautify-benchmark"
2325 # Setup Node.js version-specific dependencies
2426 - " test $TRAVIS_NODE_VERSION != '0.6' || npm rm --save-dev nyc"
2527 - " 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 1818 ],
1919 "repository" : " mysqljs/sqlstring" ,
2020 "devDependencies" : {
21+ "beautify-benchmark" : " 0.2.4" ,
22+ "benchmark" : " 2.1.4" ,
2123 "eslint" : " 4.7.2" ,
2224 "eslint-plugin-markdown" : " 1.0.0-beta.6" ,
2325 "nyc" : " 10.3.2" ,
3537 "node" : " >= 0.6"
3638 },
3739 "scripts" : {
40+ "bench" : " node benchmark/index.js" ,
3841 "lint" : " eslint --plugin markdown --ext js,md ." ,
3942 "test" : " node test/run.js" ,
4043 "test-ci" : " nyc --reporter=text npm test" ,
You can’t perform that action at this time.
0 commit comments