<div dir="ltr">Thanks Dotan for the insight<br><br><div class="gmail_quote">2009/9/8 Dotan Shavit <span dir="ltr">&lt;<a href="mailto:dotan@shavitos.com">dotan@shavitos.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Tuesday 08 September 2009, Noam Rathaus wrote:<br>
&gt; So I am stuck<br>
&gt;<br>
&gt; Grrr<br>
&gt;<br>
&gt; Anyone with ideas on how I can understand why &quot;my packages&quot; are causing<br>
&gt; issues, while apparently, &quot;perl-provided&quot; packages such as LWP::UserAgent<br>
&gt; dont?<br>
</div><a href="http://www.gksoft.com/a/fun/catch-lion.html" target="_blank">http://www.gksoft.com/a/fun/catch-lion.html</a><br>
<div><div></div><div class="h5"><br>
&gt;<br>
&gt; On Tue, Sep 8, 2009 at 5:58 PM, Shachar Shemesh &lt;<a href="mailto:shachar@shemesh.biz">shachar@shemesh.biz</a>&gt; wrote:<br>
&gt; &gt;  Noam Rathaus wrote:<br>
&gt; &gt;<br>
&gt; &gt; The only obvious one is that read() shown under strace, takes a<br>
&gt; &gt; significant more time on the new machine than the old one<br>
&gt; &gt;<br>
&gt; &gt; You can split the difference between the platforms into three groups:<br>
&gt; &gt; Time spent in the kernel (0.032 seconds)<br>
&gt; &gt; Time spent in userspace (7.761 seconds)<br>
&gt; &gt; Time spent sleeping or otherwise scheduled out (7.287 seconds)<br>
&gt; &gt;<br>
&gt; &gt; strace -c goes a long way, and works very hard, to show us information<br>
&gt; &gt; that is not useful to us. It counts CPU time spent in system calls, not<br>
&gt; &gt; actual wall time. What may provide a more useful output in this case is<br>
&gt; &gt; -T, which will also count time in which the process was sleeping inside a<br>
&gt; &gt; system call (which accounts for about half the slowdown).<br>
&gt; &gt;<br>
&gt; &gt; The second half of the slowdown, the one done in user space, is more<br>
&gt; &gt; difficult to trace without the sources (i.e. - the perl sources).<br>
&gt; &gt; valgrind has a module for detecting what causes a slowdown, but I doubt<br>
&gt; &gt; Noam wants to start analyzing perl to figure out what the different areas<br>
&gt; &gt; actually mean.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Shachar<br>
&gt; &gt;<br>
&gt; &gt; On Tue, Sep 8, 2009 at 5:43 PM, Shachar Shemesh<br>
&lt;<a href="mailto:shachar@shemesh.biz">shachar@shemesh.biz</a>&gt;wrote:<br>
&gt; &gt;&gt;  Noam Meltzer wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; the time output does looks like you have higher cpu usage for some<br>
&gt; &gt;&gt; reason, so i agree with Shachar on this.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; you can also try to pinpoint the place the cpu is spent.<br>
&gt; &gt;&gt; strace and/or ltrace with the &#39;-f -c&#39; flags can help.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;  I&#39;m not sure about ltrace, but strace will not help. Most of the time<br>
&gt; &gt;&gt; is spent in user space, not in the kernel.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Strace may help if the problem is time spent in another process (i.e. -<br>
&gt; &gt;&gt; while the main process is sleeping), but it seems Noam has already tried<br>
&gt; &gt;&gt; that one and failed to spot any obvious candidates.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Shachar<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; On Tue, Sep 8, 2009 at 5:24 PM, Shachar Shemesh<br>
&lt;<a href="mailto:shachar@shemesh.biz">shachar@shemesh.biz</a>&gt;wrote:<br>
&gt; &gt;&gt;&gt;  Noam Rathaus wrote:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; I know the time difference doesn&#39;t look too bad, but take a bigger code<br>
&gt; &gt;&gt;&gt; set:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Fast:<br>
&gt; &gt;&gt;&gt; real    0m1.682s<br>
&gt; &gt;&gt;&gt; user    0m1.584s<br>
&gt; &gt;&gt;&gt; sys    0m0.064s<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Slow:<br>
&gt; &gt;&gt;&gt; real    0m16.730s<br>
&gt; &gt;&gt;&gt; user    0m9.345s<br>
&gt; &gt;&gt;&gt; sys    0m0.096s<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;   These times spell &quot;CPU intensive&quot;. Does your library do anything<br>
&gt; &gt;&gt;&gt; special? If you try to import a dummy library, does this still happen?<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Shachar<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; --<br>
&gt; &gt;&gt;&gt; Shachar Shemesh<br>
&gt; &gt;&gt;&gt; Lingnu Open Source Consulting Ltd.<a href="http://www.lingnu.com" target="_blank">http://www.lingnu.com</a><br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; --<br>
&gt; &gt;&gt; Shachar Shemesh<br>
&gt; &gt;&gt; Lingnu Open Source Consulting Ltd.<a href="http://www.lingnu.com" target="_blank">http://www.lingnu.com</a><br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt; Shachar Shemesh<br>
&gt; &gt; Lingnu Open Source Consulting Ltd.<a href="http://www.lingnu.com" target="_blank">http://www.lingnu.com</a><br>
<br>
<br>
</div></div></blockquote></div><br></div>