perl.ithreads...Re: p5p summary: Improving threads::shared by Jerry D. Hedden- May 5, 2008 > Is this a logical approach If so, is it doableIf circular references can&39;t be fully supported inthreads::shared, then I need to document this in its POD andin Thread::Queue&39;s POD, too. Do you agreehttp://www.nntp.perl.org/group/perl.ithreads/2008/05/msg1288.html Re: p5p summary: Improving threads::shared by Jerry D. Hedden- May 5, 2008 erry D. Hedden wrote:> Look at $x:> REF(0x144f8f0)> REF(0x144f8f0)> REF(0x144f8f0)> REF(0x144f8f0)> REF(0x144f8f0)> REF(0x144f8f0)>> First look at $y:> SCALAR(0x1423c70)> SCALAR(0x1423ad8)> SCALAR(0x14bd968)> SCALAR(0x14bd980)> SCALAR(0x14bd998)> SCALAR(0x14bd9b0)>> Second look at $y:> REF(0x1423c70)> REF(0x1423ad8)> REF(0x14bd968)> REF(0x14bd980)> ...http://www.nntp.perl.org/group/perl.ithreads/2008/05/msg1287.html Re: p5p summary: Improving threads::shared by Jerry D. Hedden- May 5, 2008 Jerry D. Hedden wrote:> Look at $x:> REF(0x144f8f0)> REF(0x144f8f0)> REF(0x144f8f0)> REF(0x144f8f0)> REF(0x144f8f0)> REF(0x144f8f0)>> First look at $y:> SCALAR(0x1423c70)> SCALAR(0x1423ad8)> SCALAR(0x14bd968)> SCALAR(0x14bd980)> SCALAR(0x14bd998)> SCALAR(0x14bd9b0)>> Second look at $y:> REF(0x1423c70)> REF(0x1423ad8)> REF(0x14bd968)> REF(0x14bd980)> ...http://www.nntp.perl.org/group/perl.ithreads/2008/05/msg1286.html Re: p5p summary: Improving threads::shared by Jerry D. Hedden- May 5, 2008 > My sample worked OK after I removed the Data::Dumper> print; apparently, it has some issues w circular> references as well (I tried setting Deepcopy and> Purity, to no avail); I suspect its due to the fact> that references to shared elements don&39;t have the same> stringified value, so it doesn&39;t actually look like> a circular ref.Oh, yes. That&39;s part of what I reported here: http:rt.perl.orgrt3PublicBugDisplay.htmlid=37946The following highlights the...http://www.nntp.perl.org/group/perl.ithreads/2008/05/msg1285.html Re: p5p summary: Improving threads::shared by Dean Arnold- May 5, 2008 Jerry D. Hedden wrote:> > I&39;ve attached my reworked version of T::Q that I think takes> care of circular references. Would you mind giving it a> going over (It passes all the currents tests in its test> suite, so I know I didn&39;t break anything.) Thanks.My sample worked OK after I removed the Data::Dumperprint; apparently, it has some issues w circularreferences as well (I tried setting Deepcopy andPurity, to no avail); I suspect its due to the factthat references to...http://www.nntp.perl.org/group/perl.ithreads/2008/05/msg1284.html Re: p5p summary: Improving threads::shared by Jerry D. Hedden- May 5, 2008 Dean Arnold wrote:> BTW: have you looked into reusing or integrating with any> of the Clone modules At present, I don&39;t think they> handle shared variables, but they&39;re the usual mechanism> for cloning structures, and a couple of them use XS for> performance.I&39;m not familiar with any of them. However, if they don&39;thandled shared variables, I&39;m not sure they&39;d be usefulunless they were modified to do make shared copies at eachstep.As a first step, I&39;ll..http://www.nntp.perl.org/group/perl.ithreads/2008/05/msg1283.html Re: p5p summary: Improving threads::shared by Dean Arnold- May 5, 2008 Jerry D. Hedden wrote:> > What are your thoughts regarding structures that mix shared> and non-shared elements Should a whole separate clone be> made, or should that shared portions (i.e., refs) be used in> the copy (I&39;m thinking the latter, while messier, makes> more sense.)> I agree. That most closely matches perl_clone behavior,ie., preserving shared variables between threads.I don&39;t know that its messier, but it will certainly need tobe documented.BTW: have you..http://www.nntp.perl.org/group/perl.ithreads/2008/05/msg1282.html Re: p5p summary: Improving threads::shared by Jerry D. Hedden- May 5, 2008 Dean Arnold wrote:> Alas, there&39;s one catch that the current T::Q> implementation doesn&39;t cover: recursive structures:Oh, crud. Thanks for catching that.> Or maybe using a fieldhash to key the original ref thats> being cloned, do a quick lookup, and if it exists, then> skip itThat was my thought, too. I&39;ll work on it.> Momentary insanity: Why not reuse the existing perl_clone> code Egads! I&39;ve no clue about this.> Would an assignment op overload work ...http://www.nntp.perl.org/group/perl.ithreads/2008/05/msg1281.html Re: p5p summary: Improving threads::shared by Dean Arnold- May 4, 2008 Dean Arnold wrote:> Jerry D. Hedden wrote:>> Dean Arnold wrote:>>> I&39;ve been pouring over the p5p archives trying to find>>> what the subject p5p summary item is about, but wo any luck.>>> Can someone point out the relevent thread title, or maybe>>> summarize what "threads::shared could share aggregates>>> properly with only Perl level changes to shared.pm">>> means >>>> It means that something like...http://www.nntp.perl.org/group/perl.ithreads/2008/05/msg1280.html Re: p5p summary: Improving threads::shared by Dean Arnold- May 4, 2008 Jerry D. Hedden wrote:> Dean Arnold wrote:>> I&39;ve been pouring over the p5p archives trying to find>> what the subject p5p summary item is about, but wo any luck.>> Can someone point out the relevent thread title, or maybe>> summarize what "threads::shared could share aggregates>> properly with only Perl level changes to shared.pm">> means > > It means that something like this would DWIM:> > my $x : shared;> $x = .http://www.nntp.perl.org/group/perl.ithreads/2008/05/msg1279.html |