Thanks Michael, All my modules are in startup.pl. I've moved away from mysql because it was too slow for my purposes and I have the equivalent of thousands of small tables. So I'm using my own file access methods with flock() with read/write locking. It's very fast, but the down side is I need to do some record sorting in RAM.
The data is all intensively read/write so I don't have the option of doing much caching. :( I do use BDB, not for my main data storage but for some basic key/value lookups and it's blazingly fast. I've benchmarked sqlite and it's a lot slower than my home rolled routines - mostly because of the intensive read/write/update/delete activity. Mark. On 10/16/07, Michael Peters <[EMAIL PROTECTED]> wrote: > Boysenberry Payne wrote: > > > $Apache2::SizeLimit::MAX_UNSHARED_SIZE = 50000; > > The key here is your unshared memory. On Linux COW takes care of all the stuff > you pre-load and then don't change on prefork. But if you're constantly > changing > large data structures, then prefork won't really work for you memory-wise. > Also, > you should pre-load any Perl modules used at startup, else those become > unshared > when used. > > If you are using large data structures that change over time, you have to ask > yourself "Can I do better"? I'd look at using something else to store the > structures (are they just cache? then memcached. Are they important? Then some > sort of shared memory, BDB, SQLite or MySQL might be more appropriate. > > -- > Michael Peters > Developer > Plus Three, LP > > -- Mark Maunder <[EMAIL PROTECTED]> http://markmaunder.com/ +1-206-6978723
