Closed satoshinm closed 7 years ago
A nice space savings, before:
release-build-js $ ls -lh craft.*
-rw-r--r-- 1 admin staff 101K May 27 17:58 craft.html
-rw-r--r-- 1 admin staff 19K May 27 17:58 craft.html.mem
-rw-r--r-- 1 admin staff 1.4M May 27 17:58 craft.js
after:
release-build-js $ ls -lh craft.*
-rw-r--r-- 1 admin staff 241K May 27 18:00 craft.data
-rw-r--r-- 1 admin staff 101K May 27 18:00 craft.html
-rw-r--r-- 1 admin staff 19K May 27 18:00 craft.html.mem
-rw-r--r-- 1 admin staff 624K May 27 18:00 craft.js
624 + 241 = 865 KB, less than the 1.4 MB craft.js from before due to inefficient encoding
http://kripken.github.io/emscripten-site/docs/tools_reference/emcc.html#emcc-embed-file says "Embedding files is much less efficient than preloading them", and indeed it generates a huge JavaScript array in craft.js even in the release build:
var Module;if(typeof Module==="undefined")Module={};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;((function(){var loadPackage=(function(metadata){function runWithFS(){Module"FS_createPath";Module"FS_createPath";var fileData0=[];fileData0.push.apply(fileData0,[35,105,102,100,101,102,32,71,76,95,69,83,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,105,110,116,59,10,35,101,110,100,105,102,10,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,1...
Should switch to --preload-file, and include the extra .data file