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

2010/9/27 Levente Uzonyi <[email protected]>

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.


But in Pharo 1.0 OCompletion was doing the same....so?  did SortedCollection
chang between 1.0 and 1.1?

No, something else changed. The same test is still 5x faster in 1.0 dev with the new code.



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.


let us know when this is available.

A preview version is available here:
http://leves.web.elte.hu/squeak/Ocompletion-ul.77.mcz
It should work in Pharo 1.1, though it has some additional Squeak specific code which is unnecessary for Pharo.


Levente




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

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

Reply via email to