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