[elephant-devel] New cache for elephant postmodern

Henrik Hjelte henrik at evahjelte.com
Sat Oct 13 13:48:24 UTC 2007


On 10/12/07, Robert L. Read <read at robertlread.net> wrote:
> I think we should be a little cautious about adding a new dependency.
> For example, the dependency on FiveAM for testing forces a lot of things
> to be pulled in.

But it makes testing better and easier, I filed a feature enhancement
request in trac, which was approved by Ian as I remember it, a long
time before implementing the switch to FiveAM.

> So my big questions about this would be:
>
> 1)  Is the new feature configurable?  That is, if I don't want to set up
> any cron jobs, will everything still work out-of-the-box, even if I
> might not get the benefit of this caching?
Yes it is configurable, disabled by default.

> 2)  Do we have tests for it?
No new ones in elephant. I know Alex has tested it a lot, and have
been testing multi processes scenarios using the grand-prix test.

> 3)  Is it possible to do it in some way that does not create an
> extra-lisp dependence?  For example, I use timer threads inside lisp in
> my own application, which are free with SBCL but are probably platform
> dependent...nonetheless, it is far better to have a pure-lisp solution
> than to have to move outside lisp where you have an operating-system
> dependent issue.
Well it depends on what goals you have. The goals for the postmodern
backend are speed and safety and to a less degree simplicity. The
cache is optional, and I am sure that even in windows you can
implement something that executes a bat file at regular intervals, I
think it was called the AT command?. Maybe there is a Lisp solution to
this as well, but if it requires threads, I think it should be
optional.

>
> I don't want to sound ungrateful...it is very nice to have people like
> yourself magically create new features that we can all potentially use.
> But I would also like to know:  what is the benefit of this feature?  If
> it provides better performance, can we characterize the improvement?

It gives better performance. I don't have an exact number, for our
application it was a lot better. i think Alex has some numbers. If
someone comes up with a good idea to make it even faster, please tell
us and we might implement it.

/Henrik Hjelte

>
>
> On Fri, 2007-10-12 at 17:00 +0200, Henrik Hjelte wrote:
> > Hello,
> > I have some new features for the postmodern backend, made by Alex
> > Mizrahi. The most interesting thing is a cache that is safe to use
> > between processes. It takes some steps to set up, for example you
> > should make a cron job that cleans a table that is used to communicate
> > updates between processes. It is best described by comments in the
> > source code. We are beta testing it at our site http://stix.to, and it
> > seems to work fine but note that it is new code so it should be
> > regarded as unstable.
> >
> > You can get the patches from this darcs repo:
> > http://common-lisp.net/project/grand-prix/darcs/elephant
> >
> > /Henrik Hjelte
> > _______________________________________________
> > elephant-devel site list
> > elephant-devel at common-lisp.net
> > http://common-lisp.net/mailman/listinfo/elephant-devel
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
>
>
>



More information about the elephant-devel mailing list