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])