[Vm-dev] DirectoryPlugin updated on SqueakSource
David T. Lewis
lewis at mail.msen.com
Mon Dec 14 03:01:12 UTC 2015
On Sun, Dec 13, 2015 at 05:30:52PM -0800, Eliot Miranda wrote:
> Hi David,
> On Sat, Dec 12, 2015 at 2:58 PM, David T. Lewis <lewis at mail.msen.com> wrote:
> > A few years ago (well, more than a few), I implemented DirectoryPlugin.
> > This claimed to (and I believe actually did) provide very large performance
> > benefits on images of that time. It also required some intrusive changes
> > on the image side, so it really was not appropriate for integration into
> > the image.
> > I recently updated the primitive and provided a separate image side access
> > class, This is now on SqueakSource.com as package DirectoryPlugin.
> > Since this was originally written circa 2003, the Squeak image has
> > apparently
> > improved immensely. The directory stream primitives, which were the
> > original
> > motivation for writing it, no longer provide any benefit at all. In fact,
> > they seem to be slightly slower than the standard (modern) image).
> > The file stat primitives do provide substantial performance benefit, so
> > these may still be of interest for modern images.
> Then what's involved in integrating only the stat primitives? Both in the
> plugin and the image?
For the plugin, we could just remove the four directory stream primitives,
leave the remaining ten file stat primitives, and rename the module to
something like 'FileStatPlugin'.
For the image, the ten example methods in DirectoryPluginAccess class in
category 'file primitive access' illustrate how to access the primitives.
The tricky part is that these are unix/posix only, so they would have
to be optional primitives and integrated into the image in such a way
that things still work reasonably on other platforms. I have not really
looked into that aspect of the problem since 2003, but it might be worth
a second look now.
More information about the Vm-dev