[elephant-devel] Optimization

Leslie P. Polzer sky at viridian-project.de
Tue Dec 23 09:22:55 UTC 2008


Dear Elliott,

On Sun, Dec 21, 2008 at 09:35:06PM -0800, Elliott Slaughter wrote:

> I am exploring Elephant/BDB as a backend for a video game I am writing. I
> have ignored performance considerations so far, but on some larger maps
> (around 100 objects), performance is abominably slow (around 5 fps). The
> same maps run about 10 times faster (about 50 fps) when using completely
> in-memory hash-tables.
> 
> Based on profiling, it appears that the main bottleneck is persistent slot
> lookup. I remember reading that Elephant reads from file on every slot read,
> which could explain this result.

I can confirm this (symptoms and cause).

Luckily I have only one code path right now that is heavy
enough to be a performance problem, and I can work around it using
my own caching mechanism.

When your program is single-threaded then you might be able
to pull off something similar.
 
Search for "dynamic scope memoization" on comp.lang.lisp.

  Leslie




More information about the elephant-devel mailing list