Hi eliot

It is a cool extension I would really like to get startup more exposed.

Stef


Le 5/3/15 22:53, Eliot Miranda a ��crit��:


On Thu, Mar 5, 2015 at 4:45 AM, phil@highoctane.be <phil@highoctane.be> wrote:
On Thu, Mar 5, 2015 at 12:05 PM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
> Phil,
>
>> On 05 Mar 2015, at 11:44, phil@highoctane.be wrote:
>>
>> Images are starting slow, that's my experience. Here, a Pharo3 on
>> Windows with quite a bunch of things in it takes six seconds to load
>> on first launch and three after that.
>>
>> And that's on a i7 4770K clocked 3.85GHz with SSD drives.
>>
>> It takes less time to revive a VMWare VM :-(
>
> Maybe it is Windows ? Or certain extra stuff that you have in your image that does work at startup ? Because you should see sub second startup times.
>
> (This is on the smallest Digital Ocean instance, 1 virtual CPU, 512 Mb RAM, SSD)
>
> root@stfx:~/experiments/pharo4# curl get.pharo.org/40+vm | bash
>�� ��% Total�� �� % Received % Xferd�� Average Speed�� ��Time�� �� Time�� �� ��Time�� Current
>�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� Dload�� Upload�� ��Total�� ��Spent�� �� Left�� Speed
> 100�� 2885�� 100�� 2885�� �� 0�� �� ��0�� 17974�� �� �� 0 --:--:-- --:--:-- --:--:-- 18031
> Downloading the latest 40 Image:
>�� �� ��http://files.pharo.org/image/40/latest.zip
> Pharo.image
> Downloading the latest pharoVM:
>�� �� �� �� ��http://files.pharo.org/vm/pharo/linux/stable.zip
> pharo-vm/pharo
> Downloading PharoV10.sources:
>�� �� �� �� ��http://files.pharo.org/sources//PharoV10.sources.zip
> Downloading PharoV20.sources:
>�� �� �� �� ��http://files.pharo.org/sources//PharoV20.sources.zip
> Downloading PharoV30.sources:
>�� �� �� �� ��http://files.pharo.org/sources//PharoV30.sources.zip
> Creating starter scripts pharo and pharo-ui
>
> root@stfx:~/experiments/pharo4# ./pharo Pharo.image printVersion
> [version] 4.0 #40535
>
> root@stfx:~/experiments/pharo4# ls -lah Pharo.image
> -rw-rw-r-- 1 root root 22M Mar�� 4 14:51 Pharo.image
>
> root@stfx:~/experiments/pharo4# time ./pharo Pharo.image eval '100 factorial'
> 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
>
> real�� �� 0m0.386s
> user�� �� 0m0.184s
> sys�� �� ��0m0.028s
>
> root@stfx:~/experiments/pharo4# time ./pharo Pharo.image eval '100 factorial'
> 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
>
> real�� �� 0m0.422s
> user�� �� 0m0.192s
> sys�� �� ��0m0.032s
>
> root@stfx:~/experiments/pharo4# time ./pharo Pharo.image eval '100 factorial'
> 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
>
> real�� �� 0m0.863s
> user�� �� 0m0.404s
> sys�� �� ��0m0.064s
>
> It is the latest (smaller) image, but that should not make much difference.

On my CentOS Linux, headless tests are fast as well.

Granted, my Windows image was super large. 300Megs or something.
I cleaned the Monticello things with flush cache, which removed 41 megs.

I can't test the CLI version on Windows, as I do get a window opening.

There are a ton of windows and morphs open in there and I've run a
couple of experiments.

Now, the Linux image was large too. 200Megs or so.
And the window showed immediately, then it took a second and a half or
so to show the images back.
There is a black background before.
Maybe the system is processing its startUp list, unhibernating forms,
I don't know what's going on but it takes that 1.5 secs.

The image gets large because of Monticello caches, and TWM (Tiling
Window Manager) keeping a handle on browsers etc over time. So, I
cleaned the caches, closed TWM, gc'ed a time or two and then got the
image back to 90 megs.

Then the image opens in like 0.5 sec. It is hard to measure as what I
want is the time between issuing the pharo-ui XYZ.image and the fact
that I can actually see the UI.

How would one do that?

Sorry for the rant but generally speaking, the Pharo UI seems slower
than the Squeak 4.5 ui.
Or the EToys UI for that matter.
I am using those for little educational programs and they feel faster.
I'd like to know why. Both systems have morphic. Is it because of
aliased fonts? Squeak 4.5 also has that.

Is there any way to monitor what's going on during image startup?

I modifier the AndreasSystemProfiler in the Squeak code base at Cadence to allow profiling across snapshot; you see both save and startup profiles.�� That's not showing e.g. disc activity from VM reads, but it does help track down tike spent in the SMalltalk start-up.�� IIRC this is in te Saueak code base.�� But if you're interested I can dig it out.�� The changes are minor; to do with correctly offsetting delays across snapshot.


Phil





>
> Sven
>
>
> --
> Sven Van Caekenberghe
> Proudly supporting Pharo
> http://pharo.org
> http://association.pharo.org
> http://consortium.pharo.org
>
>
>
>




--
best,
Eliot