[View]  [Edit]  [Lock]  [References]  [Attachments]  [History]  [Home]  [Changes]  [Search]  [Help] 

[S8] Loading BIG images and modules

We are working to reduce/minimize loading times for BIG images.
S8 can load a system from one image file (e.g. u8.image.js) or on demmand, from modules (e.g. myFramework.st.js).

Loading images and/or modules implies:
  1. creation+installation of new clases
  2. installation of new methods

For versions of S8 previous to Aug,2014; the time spent by installation of classes increases with the number of classes(and methods) in the system.
Here it is attached a S8 Project (and build files) to measure perfomance loading:
  1. 50 modules (aprox. 2Mb each) incrementally in the default u8 image
  2. one image (aprox 95Mb, #classes=11950 #methods=193017)
Download the project files (fatImage.zip) and evaluate the following expression to build test modules
MyExporter emmitModules

Evaluate the following expression to measure loading times
1 to: 50 do: [:i| MyLoader loadModule: i printString ]
MyLoader loadBigModule "to load BIG image"

Results for previous version of S8

// bigModule.js load time=12863ms
// initRoots time=834844ms
// #classes=11950 #methods=193017
// #classes=11950 #methods=193017

Results for current S8 version (sept'2014 upgrade)

// bigModule.js load time=13551ms
// initRoots time=0ms
// #classes=11950 #methods=193017
// #classes=11950 #methods=193017

Attached Result files (details for BIG image and modules loading)