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