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