<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. https://www.livejournal.com/bots/  -->
<rss version='2.0'  xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:media='http://search.yahoo.com/mrss/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>pmurias</title>
  <link>https://pmurias.livejournal.com/</link>
  <description>pmurias - LiveJournal.com</description>
  <lastBuildDate>Fri, 10 Jul 2009 12:52:32 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>pmurias</lj:journal>
  <lj:journalid>20514203</lj:journalid>
  <lj:journaltype>personal</lj:journaltype>
  <item>
  <guid isPermaLink='true'>https://pmurias.livejournal.com/1375.html</guid>
  <pubDate>Fri, 10 Jul 2009 12:52:32 GMT</pubDate>
  <title>Profiling SMOP</title>
  <author>pmurias</author>
  <link>https://pmurias.livejournal.com/1375.html</link>
  <description>With the loading of the setting (a plain word for the prelude) taking up to 9 seconds I decided to focus on improving mildews speed to an bearable level. &lt;br /&gt;With compiling the bytecode down to C code not making a substantiall improvement I decided to use a profile.&lt;br /&gt;Gprof seemed the most obvious choice, after making scons add the -pg flag in all the required places (which makes gcc add profiling instrumentation)&lt;br /&gt; It turned out that the recent versions of gprof doesn&apos;t support shared libraries.&lt;br /&gt;(Which should have been documented instead of being found as result of googling through mailing lists :(&amp;nbsp;)&lt;br /&gt;I briefly tried OProf but I found the documentation incredibly dense I turned to sysprof.&lt;br /&gt;Sysprof uses a kernel module to profile *all* the running programs so I had to upgrade my kernel.&lt;br /&gt;Using sysprof i found out that smop spent lots of time managing pthread locks.&lt;br /&gt;Turning locking off made smop run nearly twice as fast.</description>
  <comments>https://pmurias.livejournal.com/1375.html?view=comments#comments</comments>
  <category>perl</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://pmurias.livejournal.com/1262.html</guid>
  <pubDate>Thu, 25 Jun 2009 12:20:06 GMT</pubDate>
  <title>mildew now passes the first spec test</title>
  <author>pmurias</author>
  <link>https://pmurias.livejournal.com/1262.html</link>
  <description>As multi methods in mildew will need to be properly tested, I decided to get mildew to run Test.pm.&lt;br /&gt;Attempting to get&amp;nbsp;Test to run uncovered a missing features in Signature, so now positionals can be passed as named parameters,&lt;br /&gt;unrecognised named arguments are not tolerated and named arguments are optional by default.&lt;br /&gt;&lt;br /&gt;The following now works:&lt;br /&gt;multi foo($bar,$foo) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; say $bar,$foo;&lt;br /&gt;}&lt;br /&gt;foo(foo=&amp;gt;&apos;there&apos;,bar=&amp;gt;&apos;hi&apos;);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Our Test.pm only support &amp;amp;plan,&amp;amp;ok and &amp;amp;is for now but it&apos;s enough to pass the first spec test, S06-signature/named-parameters.t</description>
  <comments>https://pmurias.livejournal.com/1262.html?view=comments#comments</comments>
  <category>perl</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://pmurias.livejournal.com/886.html</guid>
  <pubDate>Tue, 16 Jun 2009 11:26:23 GMT</pubDate>
  <title>mildew now supports my multi foo(...) {...}</title>
  <author>pmurias</author>
  <link>https://pmurias.livejournal.com/886.html</link>
  <description>So far I&apos;ve neglected my GSoC blog so now instead of waiting the whole week for new features to pile up, I&apos;ll attempt to blog about them as I add them to mildew.&lt;br /&gt;Mildew now supports the my multi foo(...) {...} which allows you to define a lexically scoped multi.&lt;br /&gt; As a simple example here are a few tests for it:&lt;br /&gt;&lt;br /&gt;my multi foo($a) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; say &amp;quot;ok 7 # calling the inherited candidate&amp;quot;;&lt;br /&gt;}&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my multi foo($a,$b) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; say &amp;quot;ok 8 # one can localy add candidates&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foo(1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foo(1,2);&lt;br /&gt;}.();&lt;br /&gt;foo(1,2);&lt;br /&gt;CATCH {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; say &amp;quot;ok 9 # the lexically added candidates are not visible in outer scopes&amp;quot;;&lt;br /&gt;}</description>
  <comments>https://pmurias.livejournal.com/886.html?view=comments#comments</comments>
  <category>perl</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
  </item>
  <item>
  <guid isPermaLink='true'>https://pmurias.livejournal.com/738.html</guid>
  <pubDate>Tue, 09 Jun 2009 14:43:41 GMT</pubDate>
  <title>mildew: say &quot;The mildew evalbot is up and running&quot;</title>
  <author>pmurias</author>
  <link>https://pmurias.livejournal.com/738.html</link>
  <description>After installing a new cabal on the evalbot machine, disabling the runtime limits for mildew, and fixing the m0ld assembler the evalbot once again runs mildew code.&lt;br /&gt;&lt;br /&gt;Thats means that p6eval on &lt;a href=&apos;https://www.livejournal.com/rsearch/?tags=%23perl6&apos;&gt;#perl6&lt;/a&gt; at freenode.org will eval Perl 6 code using mildew when you type&amp;nbsp; &amp;quot;mildew: Perl 6 code here&amp;quot;.</description>
  <comments>https://pmurias.livejournal.com/738.html?view=comments#comments</comments>
  <category>perl</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
  </item>
</channel>
</rss>
