Hi Benoit,
 the main idea as always is to have better tests.
We have seen that Pharo, and many users reported, that Pharo does not
behaves correctly in some cases when handling large images. When I
take about large images, I am talking about images with a lot of code
and/or with a lot of data (yes the code for us is data... but I am
just differencing because if we are testing senders / implementors we
don't care about having a 10GB ByteArray).

Also we have seen that for correctly testing this scenarios, we need
good images, because depending the characteristics of the image it
stress different parts of the system. As you correctly said we need to
improve the tools (Calypso, System Navigation, Spotter, Iceberg, etc)
and the infrastructure (GC, Compiler, VM in general). So we need to
generate a lot of different images with different characteristics.

Also, as you correctly mentioned we need to generate images with
static behavior and with dynamic behavior (e.g., lots of concurrent
processes).

The main goal of the project is to start a recollection of existing
solutions and to add new ones to generate this synthetic images. We
want also to generate images that reproduce the nature of images. For
example, it is not enough to generate random method selectors if we
are testing the indexing of them. A good index varies its performance
depending of the nature of the text. We need to generate random
methods following some rules a developer whould use, for example using
more a given word or using real words.

So basically, we started collecting the easy algorithms to generate
and we will add more, and of course, it is open to contribution from
anyone and to different usage scenarios. The two I have implemented
are the ones we are using this week to solve three issues: (1)
improving the startup time, (2) improving the detection of deprecated
methods, (3) improving the analysis of big literal methods. I have
finished 1, the other two we are in working.

Also, I will like to add an implementation of the work of Clement and
Sophie to generate images to stress the GC.

If you have ideas or things to add let's share them!!

Cheers,
Pablo

On Wed, Jan 29, 2020 at 6:48 PM Benoit St-Jean via Pharo-users
<pharo-users@lists.pharo.org> wrote:
>
> Just read that announcement
> (https://pharoweekly.wordpress.com/2020/01/29/ann-large-image-generator/)
> on Pharo Weekly.
>
> Anyone knows more about the precise goal of that project?  What is the
> exact purpose of those images and what are we trying to test?  Garbage
> collection?  The VM behavior under stress? Limitations of Pharo on a
> specific OS? A reference against which future versions will be
> benchmarked for performance? Iceberg and code management performance?
> How base classes react when they have to deal with millions of objects
> (e.g. a Bag with 15 million objects, forking 15000 processes, creating
> 20000 semaphores, etc) ?
>
> --
> -----------------
> BenoƮt St-Jean
> Yahoo! Messenger: bstjean
> Twitter: @BenLeChialeux
> Pinterest: benoitstjean
> Instagram: Chef_Benito
> IRC: lamneth
> GitHub: bstjean
> Blogue: endormitoire.wordpress.com
> "A standpoint is an intellectual horizon of radius zero".  (A. Einstein)
>
>


-- 
Pablo Tesone.
teso...@gmail.com

Reply via email to