[elephant-devel] get-instances-by-value andget-instances-by-class

Alex Mizrahi killerstorm at newmail.ru
Sat Mar 6 17:52:35 UTC 2010


hi

 > it seems that there is a problem with sbcl and linux 64-bit.
 > I noticed that this problems does not appear on my 32-bit systems only on 
the 64-bit systems.

I've tested it on Debian 5.0 64-bit: SBCL 1.0.18, BDB 4.6, both stock from 
Debian packages.
There is no leak neither for get-instances-by-value, nor ofr 
get-instances-by-class:

CL-USER> (require 'ele-bdb)
...
CL-USER> (use-package :elephant)
T
CL-USER> (open-store '(:bdb #p"mydb/"))
#<BDB-STORE-CONTROLLER mydb/>
CL-USER> (defpclass bigj () ((slo1 :accessor slot1 :initarg :slot1 :index 
t)))
#<PERSISTENT-METACLASS BIGJ>
CL-USER> (make-instance 'bigj :slot1 "goethe")
#<BIGJ oid:2>
CL-USER> (make-instance 'bigj :slot1 "goethe2")
#<BIGJ oid:4>
CL-USER> (make-instance 'bigj :slot1 "goeth")
#<BIGJ oid:5>
CL-USER> (dotimes (i 1000000)
           (get-instances-by-value 'bigj 'slo1 "goethe"))
NIL
CL-USER> (dotimes (i 1000000)
           (get-instances-by-class 'bigj))
NIL
CL-USER> (dotimes (i 1000000)
           (get-instance-by-value 'bigj 'slo1 "goethe"))
NIL

Both before and after tests SBCL had resident set size of 100 MB, as 
measured by `top`.

So I guess it is an error with a specific version of SBCL or BDB, so try 
different versions. 





More information about the elephant-devel mailing list