This repository was archived by the owner on Jul 13, 2020. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +30
-7
lines changed Expand file tree Collapse file tree 1 file changed +30
-7
lines changed Original file line number Diff line number Diff line change 5
5
< script src ="../dist/es6-module-loader.js "> </ script >
6
6
< script >
7
7
/* PARAMETERS */
8
- var TREE_DEPTH = 2 ;
8
+ var TREE_DEPTH = 10 ;
9
9
var NUM_MODULES = 1000 ;
10
10
11
+ /*
12
+ TREE LOOKS LIKE -
13
+
14
+ MODULE NUM_MODULES
15
+ |
16
+ |
17
+ ------------------------------------- ...
18
+ | | |
19
+ MODULE 1 MODULE TREE_DEPTH ...
20
+ | |
21
+ MODULE 2 MODULE TREE_DEPTH + 2
22
+ ... ...
23
+ MODULE TREE_DEPTH - 1 MODULE TREE_DEPTH * 2 - 1
24
+
25
+ THAT IS -
26
+ DEPTH = TREE_DEPTH
27
+ BREADTH = FLOOR(NUM_MODULES / TREE_DEPTH)
28
+
29
+ */
30
+
11
31
12
32
System . set ( 'module0' , System . newModule ( { } ) ) ;
13
33
System . instantiate = function ( load ) {
14
34
var num = load . name . substr ( 6 ) ;
15
35
16
36
var deps = [ ] ;
17
- if ( num % TREE_DEPTH > 0 )
37
+
38
+ // the last module depends on all of them
39
+ if ( num == NUM_MODULES ) {
40
+ for ( var i = 0 ; i < NUM_MODULES ; i += TREE_DEPTH )
41
+ deps . push ( 'module' + i ) ;
42
+ }
43
+ else if ( num % TREE_DEPTH > 0 )
18
44
deps = [ 'module' + ( num - 1 ) ] ;
19
45
20
46
return {
32
58
33
59
for ( var i = 1 ; i <= NUM_MODULES ; i ++ )
34
60
System . define ( 'module' + i , "function q() {} var p = 5;\n // non-trivial code" ) ;
35
- var promises = [ ] ;
36
- for ( var i = NUM_MODULES ; i > 1 ; i -- ) {
37
- promises . push ( System . import ( 'module' + i ) ) ;
38
- }
39
- Promise . all ( promises ) . then ( function ( ) {
61
+
62
+ System . import ( 'module' + NUM_MODULES ) . then ( function ( ) {
40
63
document . body . innerHTML = ( ( Date . now ( ) - startTime ) / NUM_MODULES ) + 'ms per module' ;
41
64
} ) . catch ( function ( e ) {
42
65
setTimeout ( function ( ) {
You can’t perform that action at this time.
0 commit comments