|
1 | 1 | 'use strict';
|
2 | 2 |
|
3 | 3 | const { Suite } = require('benchmark');
|
4 |
| -const colors = require('ansi-colors'); |
| 4 | +const { green } = require('ansi-colors'); |
5 | 5 | const argv = require('minimist')(process.argv.slice(2));
|
6 | 6 | const mm = require('minimatch');
|
7 |
| -const pm = require('..'); |
| 7 | +const mi = require('..'); |
8 | 8 |
|
9 | 9 | /**
|
10 | 10 | * Setup
|
@@ -41,32 +41,62 @@ const bench = (name, options) => {
|
41 | 41 | return suite;
|
42 | 42 | };
|
43 | 43 |
|
44 |
| -bench(colors.green('.makeRe') + ' star') |
45 |
| - .add('micromatch', () => pm.makeRe('*')) |
| 44 | +bench(green('.makeRe') + ' star') |
| 45 | + .add('micromatch', () => mi.makeRe('*')) |
46 | 46 | .add('minimatch', () => mm.makeRe('*'))
|
47 | 47 | .run();
|
48 | 48 |
|
49 |
| -bench(colors.green('.makeRe') + ' star; dot=true') |
50 |
| - .add('micromatch', () => pm.makeRe('*', { dot: true })) |
| 49 | +bench(green('.makeRe') + ' star; dot=true') |
| 50 | + .add('micromatch', () => mi.makeRe('*', { dot: true })) |
51 | 51 | .add('minimatch', () => mm.makeRe('*', { dot: true }))
|
52 | 52 | .run();
|
53 | 53 |
|
54 |
| -bench(colors.green('.makeRe') + ' globstar') |
55 |
| - .add('micromatch', () => pm.makeRe('**')) |
| 54 | +bench(green('.makeRe') + ' globstar') |
| 55 | + .add('micromatch', () => mi.makeRe('**')) |
56 | 56 | .add('minimatch', () => mm.makeRe('**'))
|
57 | 57 | .run();
|
58 | 58 |
|
59 |
| -bench(colors.green('.makeRe') + ' globstars') |
60 |
| - .add('micromatch', () => pm.makeRe('**/**/**')) |
| 59 | +bench(green('.makeRe') + ' globstars') |
| 60 | + .add('micromatch', () => mi.makeRe('**/**/**')) |
61 | 61 | .add('minimatch', () => mm.makeRe('**/**/**'))
|
62 | 62 | .run();
|
63 | 63 |
|
64 |
| -bench(colors.green('.makeRe') + ' with leading star') |
65 |
| - .add('micromatch', () => pm.makeRe('*.txt')) |
| 64 | +bench(green('.makeRe') + ' with leading star') |
| 65 | + .add('micromatch', () => mi.makeRe('*.txt')) |
66 | 66 | .add('minimatch', () => mm.makeRe('*.txt'))
|
67 | 67 | .run();
|
68 | 68 |
|
69 |
| -bench(colors.green('.makeRe') + ' - braces') |
70 |
| - .add('micromatch', () => pm.makeRe('{a,b,c}*.txt')) |
| 69 | +bench(green('.makeRe') + ' - braces') |
| 70 | + .add('micromatch', () => mi.makeRe('{a,b,c}*.txt')) |
71 | 71 | .add('minimatch', () => mm.makeRe('{a,b,c}*.txt'))
|
72 | 72 | .run();
|
| 73 | + |
| 74 | +bench(green('.makeRe') + ' braces - range (expanded)') |
| 75 | + .add('micromatch', () => mi.braces('foo/{1..250}/bar', { expand: true })) |
| 76 | + .add('minimatch', () => mm.braceExpand('foo/{1..250}/bar')) |
| 77 | + .run(); |
| 78 | + |
| 79 | +bench(green('.makeRe') + ' braces - range (compiled)') |
| 80 | + .add('micromatch', () => mi.makeRe('foo/{1..250}/bar')) |
| 81 | + .add('minimatch', () => mm.makeRe('foo/{1..250}/bar')) |
| 82 | + .run(); |
| 83 | + |
| 84 | +bench(green('.makeRe') + ' braces - nested ranges (expanded)') |
| 85 | + .add('micromatch', () => mi.braces('foo/{a,b,{1..250}}/bar', { expand: true })) |
| 86 | + .add('minimatch', () => mm.braceExpand('foo/{a,b,{1..250}}/bar')) |
| 87 | + .run(); |
| 88 | + |
| 89 | +bench(green('.makeRe') + ' braces - nested ranges (compiled)') |
| 90 | + .add('micromatch', () => mi.makeRe('foo/{a,b,{1..250}}/bar')) |
| 91 | + .add('minimatch', () => mm.makeRe('foo/{a,b,{1..250}}/bar')) |
| 92 | + .run(); |
| 93 | + |
| 94 | +bench(green('.makeRe') + ' braces - set (compiled)') |
| 95 | + .add('micromatch', () => mi.makeRe('foo/{a,b,c,d,e}/bar')) |
| 96 | + .add('minimatch', () => mm.makeRe('foo/{a,b,c,d,e}/bar')) |
| 97 | + .run(); |
| 98 | + |
| 99 | +bench(green('.makeRe') + ' braces - nested sets (compiled)') |
| 100 | + .add('micromatch', () => mi.makeRe('foo/{a,b,c,d,e,{x,y,z}}/bar')) |
| 101 | + .add('minimatch', () => mm.makeRe('foo/{a,b,c,d,e,{x,y,z}}/bar')) |
| 102 | + .run(); |
0 commit comments