On Fri, 2005-12-16 at 03:33 -0600, Chase Venters wrote:
> Well, I should have been more clear here that I was no longer talking about 
> prefork. What I meant by COW here was actually that if you were going to use 
> multiplicity with Perl_clone, since the threads would share memory, Perl 
> would either need to:
> 
> (a) create a copy of all variables;
> or
> (b) use a thread sync primitive like an rwsem and do its own COW on this data.

I don't know much about threads, but I'm pretty sure it does a.

> What I'm 
> not clear yet on in my study of perlguts is how much overhead is associated 
> with a hash, because while the individual structures aren't huge, there could 
> be a lot of them.

It will probably be big.  Perl structures tend to use several times the
size of the actual data they store.

> is this root hash, its keys / values / etc stored along with variables, or is 
> it in the op tree?

I assume that it's stored in exactly the same way all the other
variables are stored.

> I can't put the data in SQL for performance reasons.

Have you tried?  It's hard for me to believe that the data can't be
broken down in a way that would make external storage possible.

> And BDB would be dependency creep, which 
> is quite difficult to fight in perl sometimes (that's just because there are 
> a zillion useful CPAN modules) :)

Personally, I don't fight it.  I just use zillions of CPAN modules.

- Perrin

Reply via email to