On Mon, 27 Sep 2010, Mariano Martinez Peck wrote:

IF you take a 1.1 core and just load OCompletion:

MessageTally time: [ECContextTest new testUntypedVarsOnly]  20907

If you load OCompletion and the rest of the dev image:

MessageTally time: [ECContextTest new testUntypedVarsOnly] 100137


However, IN pharo dev 1.0 it is

MessageTally time: [ECContextTest new testUntypedVarsOnly]  7405


sooo.... ????

something has changed?

As I said, SortedCollection is not suitable for this kind of usage. If you have n classes in the system, the method takes O(n^2) time. I have already fixed this, though it's not available yet.

Using the Pharo 1.1 OneClick image I get these values for
[ECContextTest new testUntypedVarsOnly] timeToRun :
Old: 28227
New:  1241


Levente


cheers

Mariano


On Mon, Sep 27, 2010 at 9:30 PM, Lukas Renggli <[email protected]> wrote:

In a plain ECompletion image the code

[ Smalltalk environment keysDo:
            [ :each |
            selectors add: (ECGlobalEntry
                    contents: each
                    type: #globalVar) ].

takes around 30 milliseconds to evaluate.

Lukas

On 27 September 2010 16:23, Stéphane Ducasse <[email protected]>
wrote:
mariano can you open a bug entry.

Stef
On Sep 26, 2010, at 6:21 PM, Mariano Martinez Peck wrote:

Hi. I am loading OCompletion in PharoCore 1.1 while building the Dev
image. If I just take a core image, load OCompletion and run tests, they
take a lot of time, not acceptable.

Now....if I build a Dev image (with OB, RB, etc) and at the end I try to
run OCompletion tests, the tests takes HOURS. The  image seems frozen, but
actually is working. If I interrupt I see the problem is in

ECUntypedModel >> initializeSelectors

the part of


[ Smalltalk environment keysDo:
            [ :each |
            selectors add: (ECGlobalEntry
                    contents: each
                    type: #globalVar) ].


takes a lot of time

and it seems related to  "ECPreferences caseSensitive"   and
"ECUntypedModel >> resetSelectors"

I don't know what else to say. To reproduce, take a PharoCore 1.1 and
evaluate:

Gofer new
    squeaksource: 'MetacelloRepository';
    package: 'ConfigurationOfOCompletion';
    load.

(ConfigurationOfOCompletion project version: '1.2') load:  'Core Tests'

Then, run all the tests inside OCompletionTests. You will see that after
running some threads....it will look like frozen. There, do an interrupt and
analize.

IF you do that for a Dev image, it takes muuuuch more. I guess this is
because "Smalltalk environment keys" will have muuuuuch more elements than a
simple core.

Anyway, help is appreciated.

Cheers

Mariano
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to