On Sun, 27 Aug 2000, Steven W McDougall wrote:

> Based on your examples, I have to assume that you are serious about
> RFC1v3 item 6:

No offense, but I wouldn't have suggested it if I weren't serious.

Misguided, perhaps.  Joking, no.

> This is a non-starter for me. Right now, I am working on apps that may
> create 10 threads per *second*. I cannot possibly get the performance
> I need if every thread has to recompile all its own modules.

I certainly think that we want to get the best performance out of Perl
and with threads that we can, but that performance often comes with a
price.  In my case, I value the overall interface more than power
programming.  (Mainly, because my performance requirements are often at the
upper-edge of C and assembler anyways, so I don't ever expect Perl to
be able to handle it beyond the prototype stage.)

But let's see if we can help you out anyway.

1) How about something like a base-level thread-space cache? 
Something that would create a blank thread-space that would never be
modified.  Thread creation would involve only copying the thread-space,
vice a module-list reslurp each time.  

2) In addition to Threads->new(), how about Threads->clone(), which
would make a copy of the parent thread, vice starting fresh?

> 
> We could either discuss alternate approaches for RFC1, or I could
> submit a new RFC for a thread architecture that gives me the
> performance I want.

Both are more than welcome.  (If you want alternate approaches or
counter-arguments to be fully documented, then doing both in an RFC
would probably be best.  Most commentaries that I'll include in later
versions of RFC 1 will be, at best, rough summaries.)


-- 
Bryan C. Warnock
([EMAIL PROTECTED])

Reply via email to