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 +20
-4
lines changed Expand file tree Collapse file tree 1 file changed +20
-4
lines changed Original file line number Diff line number Diff line change 4
4
</ script >
5
5
< script src ="../dist/es6-module-loader.js "> </ script >
6
6
< script >
7
+ /* PARAMETERS */
8
+ var TREE_DEPTH = 2 ;
9
+ var NUM_MODULES = 1000 ;
10
+
11
+
7
12
System . set ( 'module0' , System . newModule ( { } ) ) ;
8
13
System . instantiate = function ( load ) {
14
+ var num = load . name . substr ( 6 ) ;
15
+
16
+ var deps = [ ] ;
17
+ if ( num % TREE_DEPTH > 0 )
18
+ deps = [ 'module' + ( num - 1 ) ] ;
19
+
9
20
return {
10
- deps : [ 'module' + ( load . name . substr ( 6 ) - 1 ) ] ,
21
+ deps : deps ,
11
22
execute : function ( ) {
12
23
eval ( load . source ) ;
13
24
return System . newModule ( { } ) ;
18
29
function start ( ) {
19
30
document . body . innerHTML = '' ;
20
31
var startTime = + Date . now ( ) ;
21
- for ( var i = 1 ; i <= 1000 ; i ++ )
32
+
33
+ for ( var i = 1 ; i <= NUM_MODULES ; i ++ )
22
34
System . define ( 'module' + i , "function q() {} var p = 5;\n // non-trivial code" ) ;
23
- System . import ( 'module1000' ) . then ( function ( ) {
24
- document . body . innerHTML = ( ( Date . now ( ) - startTime ) / 1000 ) + 'ms per module' ;
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 ( ) {
40
+ document . body . innerHTML = ( ( Date . now ( ) - startTime ) / NUM_MODULES ) + 'ms per module' ;
25
41
} ) . catch ( function ( e ) {
26
42
setTimeout ( function ( ) {
27
43
throw e ;
You can’t perform that action at this time.
0 commit comments