On Tue, 30 Mar 2010, Bryce Kampjes wrote:

On Tue, 2010-03-30 at 14:01 -0700, John M McIntosh wrote:
On 2010-03-30, at 11:43 AM, Levente Uzonyi wrote:

That's probably because Laurent built almost every plugin as external. These 
include those which are responsible for displaying stuff on the screen.

Um, mmmm
Once we find and load the plugin we cache the entry point so later references 
don't incur much of a cost.  Maybe there is no compiler optimization in the 
compile for the external plugin?

I'd be surprised if building plugins as external is the cause of the
problem as that's standard practice for Unix VMs. Ian does it for his
and I followed his lead with the Exupery VMs.

Building most plugins external is a good idea, but I doubt that building plugins which are loaded all the time have any benefits. I used to build at least these as internal, the others are usually external: BitBltPlugin, FilePlugin, FloatArrayPlugin, FloatMathPlugin, LargeIntegers, LocalePlugin, Martix2x3Plugin, MiscPrimitivePlugin, SecurityPlugin, SocketPlugin.

I guess all but SocketPlugin, will be loaded during startup.

And I'm not saying that building plugins as external cause the low values for tinyBenchmarks, but they may be responsible for the sluggish UI.


Levente


Bryce


_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to