<div dir="ltr">Hi David,<div class="gmail_extra"><br><div class="gmail_quote">On Sat, Dec 12, 2015 at 2:58 PM, David T. Lewis <span dir="ltr">&lt;<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
A few years ago (well, more than a few), I implemented DirectoryPlugin.<br>
This claimed to (and I believe actually did) provide very large performance<br>
benefits on images of that time. It also required some intrusive changes<br>
on the image side, so it really was not appropriate for integration into<br>
the image.<br>
<br>
I recently updated the primitive and provided a separate image side access<br>
class, This is now on SqueakSource.com as package DirectoryPlugin.<br>
<br>
Since this was originally written circa 2003, the Squeak image has apparently<br>
improved immensely. The directory stream primitives, which were the original<br>
motivation for writing it, no longer provide any benefit at all. In fact,<br>
they seem to be slightly slower than the standard (modern) image).<br>
<br>
The file stat primitives do provide substantial performance benefit, so<br>
these may still be of interest for modern images.<br></blockquote><div><br></div><div>Then what&#39;s involved in integrating only the stat primitives?  Both in the plugin and the image?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Here is the description from SqueakSource:<br>
<br>
-------<br>
Project Description<br>
<br>
Home page <a href="http://wiki.squeak.org/squeak/2274" rel="noreferrer" target="_blank">http://wiki.squeak.org/squeak/2274</a><br>
<br>
DirectoryPlugin provides access to a Posix directory stream for efficient<br>
access to directory contents. It also provides methods for testing file<br>
status and how to creating directory entries for a files and directories.<br>
<br>
The directory stream primitives use the address of a directory stream as<br>
a handle to identify a directory stream. This permits several directory<br>
streams to be opened and manipulated independently by separate Smalltalk<br>
processes. However, care must be taken to avoid passing the handle for an<br>
invalid directory stream (such as one which has already been closed) to<br>
one of these methods.<br>
<br>
The plugin has been tested on Linux and on Windows. The directory stream<br>
support produces a performance improvement only on Unix (Linux) systems.<br>
The file access primitives provide substantial improvements for both Unix<br>
and Windows systems. Other platforms have not been tested.<br>
<br>
DirectoryPluginAccess provides access to primitives in DirectoryPlugin,<br>
along with utility methods for various directory and file access functions.<br>
<br>
Performance characteristics have changed significantly since Squeak circa<br>
2003. The readdir() primitives no longer provide any benefit, but the file<br>
testing primitives still yield a couple orders of magnitude improvement<br>
for some functions.<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>