All: I like the idea of using SQLite because it's small, runs on most operating systems and fast. It's also got less memory overhead, which is certainly a good thing.
However, with respect to using File::ShareDir; the module finds the directory appropriately, but I'm at a loss as to how to configure Module::Build to install it there. I suppose I could list File::ShareDir as a build requirement and just force the file to be put where File::ShareDir says it should be, but it's definitely less elegant than Module::Install, where a subclass already provides functionality to put things in the Shared directory (I believe it's M::I::Shared) Any thoughts on Module::Build and sharedir files? Cheers! Jonathan On Sat, Jan 10, 2009 at 9:20 PM, Ben Morrow <b...@morrow.me.uk> wrote: > > Quoth da...@cantrell.org.uk (David Cantrell): >> On Sat, Jan 10, 2009 at 07:41:22PM -0500, Jonathan Yu wrote: >> > On Fri, Jan 9, 2009 at 12:57 PM, nadim khemir <na...@khemir.net> wrote: >> > > 3/ don not put all your data in the module. Although this module is very >> > > specific and unlikely to be loaded with a lot of other modules at the >> > > same >> > > time, it is good to conserve memory. Split your data and load it >> dynamically, >> > > compress the data if possible. >> > How would you suggest doing this? Do you think using SQLite as a >> > backing store would be a good idea, or perhaps the Berkeley DB? >> >> If you put the data in a __DATA__ segment, it only gets loaded into >> memory when accessed. My own experience with Number::Phone::UK::Data - >> which has a very big database in __DATA__ is that DBM::Deep is very >> frugal with memory - as the data is indexed, it is quite happy to seek >> back and forth on the DATA filehandle and only load from disk those bits >> that are needed. > > If you're going to do that (and it's a good idea), surely it would be > better to put the data in a real file and use File::ShareDir or some > such to find it? > > Ben > >