← Back to team overview

opencog-dev team mailing list archive

Re: Remove support for TLB without map

 

2009/3/19 Joel Pitt <joel.pitt@xxxxxxxxx>:
> At the beginning of TLB.h:
>
> // Use the TLB map only if SQL storage is being used.
> #ifdef HAVE_SQL_STORAGE
> #define USE_TLB_MAP 1
> #endif
>
> I'd like to make USE_TLB_MAP a requirement for OpenCog as I think it's
> important to be able to use the TLB to get back a NULL pointer if a
> Handle doesn't exist in memory. Is everyone okay with this?

Yes.

> (I've discover this is the source of some tests failing on buildbot
> and for random people ...

well, technically speaking, checking for a null pointer is
the wrong thing to do. The tests should have checked for
undefined handle.

Using the TLB does increase the RAM usage, some
8 or 16 bytes or more per atom, depending on whether
you have a 32 or 64-bit CPU. I know that things like the
commercial deployment of the PetBrain were sensitive
to RAM usage (and didn't need the TLB).  A year ago,
the TLB.h file existed, but had not been actually
implemented, which means that all opencog apps up
to that point had not needed it.

It's hard for me to imagine what kind of future deployments *won't*
need the TLB; just be aware that its plausible that
someone will ask for it.



Follow ups

References