<?xml version="1.0" encoding="utf-8"?>
<feed
    xmlns="http://www.w3.org/2005/Atom"
    xmlns:at="http://www.sixapart.com/ns/at"
    xmlns:icbm="http://postneo.com/icbm"
    xmlns:rvw="http://purl.org/NET/RVW/0.2/"
    xml:lang="en">
    <title>TokuLog!@vox</title>
    <link rel="self" type="application/atom+xml" title="TokuLog!@vox (Atom)" href="http://tokuhirom.vox.com/library/posts/page/1/atom.xml" />
    <link rel="alternate" type="text/html" title="TokuLog!@vox" href="http://tokuhirom.vox.com/library/posts/page/1/"/> 
    <link rel="service.post" type="application/atom+xml" title="TokuLog!@vox" href="http://www.vox.com/services/atom/svc=post/collection_id=6a00c2252096d88fdb00c225218ce78e1d" /> 
    <link rel="service.subscribe" type="application/atom+xml" title="TokuLog!@vox" href="http://tokuhirom.vox.com/library/posts/atom.xml" />    
    <link rel="next" type="application/atom+xml" title="TokuLog!@vox" href="http://tokuhirom.vox.com/library/posts/page/2/atom.xml" /> 
    <link rel="last" type="application/atom+xml" title="TokuLog!@vox" href="http://tokuhirom.vox.com/library/posts/page/4/atom.xml" />  
    <generator uri="http://www.vox.com/">Vox</generator>
    <updated>2009-03-13T23:37:14Z</updated> 
    <author>
        <name>tokuhirom</name>
        <uri>http://tokuhirom.vox.com/?_c=feed-atom-full</uri>
    </author> 
    <id>tag:vox.com,2006:6p00c2252096d88fdb/</id>  
    
    <entry>
        <title>fork the perl with binary code(linux x86 version)</title>   
        <link rel="alternate" type="text/html" title="fork the perl with binary code(linux x86 version)" href="http://tokuhirom.vox.com/library/post/fork-the-perl-with-binary-codelinux-x86-version.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="fork the perl with binary code(linux x86 version)" href="http://tokuhirom.vox.com/library/post/fork-the-perl-with-binary-codelinux-x86-version.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="fork the perl with binary code(linux x86 version)" href="http://www.vox.com/atom/svc=post/asset_id=6a00c2252096d88fdb011017b15378860e" />          <id>tag:vox.com,2009-03-13:asset-6a00c2252096d88fdb011017b15378860e</id>
        <published>2009-03-13T23:37:14Z</published>
        <updated>2009-03-13T23:37:14Z</updated>
    
        <author>
            <name>tokuhirom</name>
            <uri>http://tokuhirom.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://tokuhirom.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>In these days, Japanese perl mongers trying to inject a x86 binary code to the perl world with pure perl.</p><p>DynaLoader::dl_install_xsub inject binary code, that can call as CV(coderef).</p><p>Following is a sample code, call the fork(2).</p><blockquote><pre class="syntax-highlight"><span class="synStatement">use </span>DynaLoader;<br /><span class="synStatement">my</span> <span class="synIdentifier">$s</span> = <span class="synStatement">join</span>(<span class="synConstant">&#39;&#39;</span>,<br />    <span class="synConstant">&quot;</span><span class="synSpecial">\x31\xc0</span><span class="synConstant">&quot;</span>, <span class="synComment"># xor %eax,%eax</span><br />    <span class="synConstant">&quot;</span><span class="synSpecial">\xb0\x02</span><span class="synConstant">&quot;</span>, <span class="synComment"># mov $0x2,%al</span><br />    <span class="synConstant">&quot;</span><span class="synSpecial">\xcd\x80</span><span class="synConstant">&quot;</span>, <span class="synComment"># int $0x80</span><br />    <span class="synConstant">&quot;</span><span class="synSpecial">\xc3</span><span class="synConstant">&quot;</span>,     <span class="synComment"># ret</span><br />);<br />DynaLoader::dl_install_xsub(<br />    <span class="synConstant">&#39;myfork&#39;</span>,<br />    <span class="synStatement">unpack</span>(<span class="synConstant">&quot;L&quot;</span>,<span class="synStatement">pack</span>(<span class="synConstant">&quot;P*&quot;</span>,<span class="synIdentifier">$s</span>))<br />);<br /><span class="synIdentifier">&amp;myfork</span>;</pre></blockquote><p></p><p>Enjoy!</p>    <p style="clear:both;">    
    <a href="http://www.vox.com/share/6a00c2252096d88fdb011017b15378860e?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    </entry> 
    
    <entry>
        <title>About the functionality expansion of Mouse</title>   
        <link rel="alternate" type="text/html" title="About the functionality expansion of Mouse" href="http://tokuhirom.vox.com/library/post/about-the-functionality-expansion-of-mouse.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="About the functionality expansion of Mouse" href="http://tokuhirom.vox.com/library/post/about-the-functionality-expansion-of-mouse.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="About the functionality expansion of Mouse" href="http://www.vox.com/atom/svc=post/asset_id=6a00c2252096d88fdb0109d0f34fc7000f" />          <id>tag:vox.com,2008-12-07:asset-6a00c2252096d88fdb0109d0f34fc7000f</id>
        <published>2008-12-07T13:53:25Z</published>
        <updated>2008-12-07T13:53:25Z</updated>
    
        <author>
            <name>tokuhirom</name>
            <uri>http://tokuhirom.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://tokuhirom.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>Me(tokuhirom) and Yappo works for the Mouse in Shika-based branch.</p><p>Followings are Changes list.</p><ul><li>method inject at apply roles(tokuhirom)</li><li>apply multi roles at once(yappo)</li><li>inline constructor at make_immutable(tokuhirom,sartak)</li><li>inline destructor at make_immutable(tokuhirom)</li><li>do not load Test::Exception at runtime(tokuhirom)</li><li>added MouseX::Types(yappo)</li><li>added Mouse::Meta::Class-&gt;create(_anon_class)?(tokuhirom)</li><li>user type definition(yappo)</li><li>added coercion support(yappo)</li></ul><p>runtime speed is good enough.<br /><blockquote><p>Class::MOP: 0.71<br />Moose: 0.62<br />Mouse: 0.12<br />---- new<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Rate MooseOne MouseOne<br />MooseOne 89286/s&#160;&#160;&#160;&#160;&#160;&#160; --&#160;&#160;&#160;&#160;&#160; -4%<br />MouseOne 93458/s&#160;&#160;&#160;&#160;&#160;&#160; 5%&#160;&#160;&#160;&#160;&#160;&#160; --<br />---- new,set<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Rate MouseOne MooseOne<br />MouseOne 62500/s&#160;&#160;&#160;&#160;&#160;&#160; --&#160;&#160;&#160;&#160;&#160; -4%<br />MooseOne 64935/s&#160;&#160;&#160;&#160;&#160;&#160; 4%&#160;&#160;&#160;&#160;&#160;&#160; --<br /></p></blockquote><br />My work is finished.</p>    <p style="clear:both;">    
    <a href="http://www.vox.com/share/6a00c2252096d88fdb0109d0f34fc7000f?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    </entry> 
    
    <entry>
        <title>Memory Usage in Class Builders</title>   
        <link rel="alternate" type="text/html" title="Memory Usage in Class Builders" href="http://tokuhirom.vox.com/library/post/memory-usage-in-class-builders.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="Memory Usage in Class Builders" href="http://tokuhirom.vox.com/library/post/memory-usage-in-class-builders.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="Memory Usage in Class Builders" href="http://www.vox.com/atom/svc=post/asset_id=6a00c2252096d88fdb010981531a51000d" />          <id>tag:vox.com,2008-12-06:asset-6a00c2252096d88fdb010981531a51000d</id>
        <published>2008-12-06T12:39:17Z</published>
        <updated>2008-12-06T12:47:41Z</updated>
    
        <author>
            <name>tokuhirom</name>
            <uri>http://tokuhirom.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://tokuhirom.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>I wrote small tool for measurement process size.</p><p>Following is the result.</p><blockquote><p>perl&gt; package F; use Moose;<br />5,185,536<br />perl&gt; use Mouse;<br />700,416<br />perl&gt; use Shika;<br />581,632<br />perl&gt; use Class::MOP;<br />1,957,888</p></blockquote><p><img src="http://gyazo.com/ce8e36177b11b74e7540e10e956064c8.png" /></p><p>Moose uses over 5MB.This is too much...</p><p>script is here: http://svn.coderepos.org/share/lang/perl/misc/memory-shell.pl<br /> </p>   <p style="clear:both;">    
    <a href="http://www.vox.com/share/6a00c2252096d88fdb010981531a51000d?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    </entry> 
    
    <entry>
        <title>Performance improvements for Mouse</title>   
        <link rel="alternate" type="text/html" title="Performance improvements for Mouse" href="http://tokuhirom.vox.com/library/post/performance-improvements-for-mouse.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="Performance improvements for Mouse" href="http://tokuhirom.vox.com/library/post/performance-improvements-for-mouse.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="Performance improvements for Mouse" href="http://www.vox.com/atom/svc=post/asset_id=6a00c2252096d88fdb0109811243a6000c" />          <id>tag:vox.com,2008-12-03:asset-6a00c2252096d88fdb0109811243a6000c</id>
        <published>2008-12-03T04:02:20Z</published>
        <updated>2008-12-03T04:05:07Z</updated>
    
        <author>
            <name>tokuhirom</name>
            <uri>http://tokuhirom.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://tokuhirom.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>some people says &quot;mouse is fast in loading time, but!!! mouse is slower than moose at&#160; runtime&quot;. ok, this is true in the latest released version of Mouse!<br /><blockquote><p></p><p>------ new<br />Rate MouseDefault MooseImmutableBuild ClassAccessor MooseImmutableDefault MouseImmutableDefault ShikaDefault Popo<br />MouseDefault&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 12658/s&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; --&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -73%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -77%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -82%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -84%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -91% -95%<br />MooseImmutableBuild&#160;&#160;&#160; 47619/s&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 276%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; --&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -14%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -33%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -38%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -67% -81%<br />ClassAccessor&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 55556/s&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 339%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 17%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; --&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -22%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -28%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -61% -78%<br />MooseImmutableDefault&#160; 71429/s&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 464%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 50%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 29%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; --&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -7%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -50% -71%<br />MouseImmutableDefault&#160; 76923/s&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 508%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 62%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 38%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 8%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; --&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -46% -69%<br />ShikaDefault&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 142857/s&#160;&#160;&#160;&#160;&#160;&#160;&#160; 1029%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 200%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 157%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 100%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 86%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -- -43%<br />Popo&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 250000/s&#160;&#160;&#160;&#160;&#160;&#160;&#160; 1875%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 425%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 350%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 250%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 225%&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 75%&#160;&#160; --</p></blockquote><br />I&#39;m implement the Meta::Method::Constructor &amp; Meta::Method::Desctructor for Mouse.This makes Mouse 500% faster&#160; at runtime.</p><p>and, some people says &quot;Why Shika is FAST???&quot; ok, i don&#39;t know ;) this is japanese XS magicians work.</p><p>benchmark script is here:http://svn.coderepos.org/share/lang/perl/Shika/trunk/benchmark/new-get-set.pl <br /> </p>   <p style="clear:both;">    
    <a href="http://www.vox.com/share/6a00c2252096d88fdb0109811243a6000c?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    </entry> 
    
    <entry>
        <title>make_immutable in Moose</title>   
        <link rel="alternate" type="text/html" title="make_immutable in Moose" href="http://tokuhirom.vox.com/library/post/make_immutable-in-moose.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="make_immutable in Moose" href="http://tokuhirom.vox.com/library/post/make_immutable-in-moose.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="make_immutable in Moose" href="http://www.vox.com/atom/svc=post/asset_id=6a00c2252096d88fdb0109d070052e000e" />          <id>tag:vox.com,2008-12-02:asset-6a00c2252096d88fdb0109d070052e000e</id>
        <published>2008-12-02T10:49:54Z</published>
        <updated>2008-12-02T10:49:54Z</updated>
    
        <author>
            <name>tokuhirom</name>
            <uri>http://tokuhirom.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://tokuhirom.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>this code will die.by &quot;Attribute (foo) is required&quot;</p><blockquote><p>{<br />&#160;&#160;&#160; package Parent;<br />&#160;&#160;&#160; use Moose;<br />}</p><p>{<br />&#160;&#160;&#160; package Child;<br />&#160;&#160;&#160; use Moose;<br />&#160;&#160;&#160; extends &#39;Parent&#39;;<br />}</p><p>Parent-&gt;meta-&gt;add_attribute(<br />&#160;&#160;&#160; &#39;foo&#39; =&gt; (<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; required =&gt; 1,<br />&#160;&#160;&#160; )<br />);</p><p>Child-&gt;new();</p></blockquote><p>but, following code doesn&#39;t throw error.</p><blockquote><p>{<br />
&#160;&#160;&#160; package Parent;<br />
&#160;&#160;&#160; use Moose;<br />
}</p><p>
{<br />
&#160;&#160;&#160; package Child;<br />
&#160;&#160;&#160; use Moose;<br />
&#160;&#160;&#160; extends &#39;Parent&#39;;<br />&#160;&#160;&#160; __PACKAGE__-&gt;meta-&gt;make_immutable();<br />
}</p><p>
Parent-&gt;meta-&gt;add_attribute(<br />
&#160;&#160;&#160; &#39;foo&#39; =&gt; (<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; required =&gt; 1,<br />
&#160;&#160;&#160; )<br />
);</p><p>
Child-&gt;new();</p><p></p></blockquote><p><span style="font-size: 1.95312em;"><span class="wordlink">conclusion</span><br /><span style="font-size: 0.64em;">Moose doesn&#39;t mention to this operation.</span></p></span><p></p><p>


</p>   <p style="clear:both;">    
    <a href="http://www.vox.com/share/6a00c2252096d88fdb0109d070052e000e?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    </entry> 
    
    <entry>
        <title>loading time of Class builders</title>   
        <link rel="alternate" type="text/html" title="loading time of Class builders" href="http://tokuhirom.vox.com/library/post/loading-time-of-class-builders.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="loading time of Class builders" href="http://tokuhirom.vox.com/library/post/loading-time-of-class-builders.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="loading time of Class builders" href="http://www.vox.com/atom/svc=post/asset_id=6a00c2252096d88fdb010980bcd891000b" />          <id>tag:vox.com,2008-12-02:asset-6a00c2252096d88fdb010980bcd891000b</id>
        <published>2008-12-02T07:01:42Z</published>
        <updated>2008-12-02T07:28:53Z</updated>
    
        <author>
            <name>tokuhirom</name>
            <uri>http://tokuhirom.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://tokuhirom.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <blockquote><p><strong>run -Ilib -e &#39;package F; use Moose&#39;</strong><br /><strong>&#160; total = 0.3154765</strong><br /><strong>run -Ilib -e &#39;package F; use Mouse&#39;</strong><br /><strong>&#160; total = 0.0436822</strong><br /><strong>run -Ilib -e &#39;package F; use Shika&#39;</strong><br /><strong>&#160; total = 0.0283219</strong><br /></p></blockquote><p><br />ok, shika has few features =)</p><p>http://svn.coderepos.org/share/lang/perl/Shika/trunk/benchmark/loading-time.pl</p><p>【following ups】<br /><blockquote><p><strong>run -Ilib -e &#39;package F; use Mouse&#39;<br />&#160; total = 0.0307623<br /></strong></p></blockquote>in shika based branch@r6714!yay! </p><blockquote><p>main&#160;&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; Mouse.pm&#160;&#160;&#160;&#160;&#160;&#160;&#160; =&gt;<br />Mouse&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; strict.pm&#160;&#160;&#160;&#160;&#160;&#160; =&gt;<br />Mouse&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; warnings.pm&#160;&#160;&#160;&#160; =&gt;<br />warnings&#160;&#160;&#160;&#160;&#160;&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; Carp.pm =&gt;<br />Carp&#160;&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; Exporter.pm&#160;&#160;&#160;&#160; =&gt;<br />Mouse&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; base.pm =&gt;<br />base&#160;&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; vars.pm =&gt;<br />vars&#160;&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; warnings/register.pm&#160;&#160;&#160; =&gt;<br />Mouse&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; Mouse/Util.pm&#160;&#160; =&gt;<br />Mouse::Util&#160;&#160;&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; Scalar/Util.pm&#160; =&gt;<br />Scalar::Util&#160;&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; List/Util.pm&#160;&#160;&#160; =&gt;<br />List::Util&#160;&#160;&#160;&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; XSLoader.pm&#160;&#160;&#160;&#160; =&gt;<br />Mouse::Util&#160;&#160;&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; MRO/Compat.pm&#160;&#160; =&gt;<br />MRO::Compat&#160;&#160;&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; Class/C3.pm&#160;&#160;&#160;&#160; =&gt;<br />Class::C3&#160;&#160;&#160;&#160;&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; Class/C3/XS.pm&#160; =&gt;<br />Mouse&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; Mouse/Meta/Attribute.pm =&gt;<br />Mouse&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; Mouse/Meta/Class.pm&#160;&#160;&#160;&#160; =&gt;<br />Mouse&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; Mouse/Object.pm =&gt;<br />Mouse&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; Mouse/TypeRegistry.pm&#160;&#160; =&gt;<br />Exporter&#160;&#160;&#160;&#160;&#160;&#160;&#160; =&gt;&#160;&#160;&#160;&#160;&#160; Exporter/Heavy.pm&#160;&#160;&#160;&#160;&#160;&#160; =&gt;<br /></p></blockquote><p></p>    <p style="clear:both;">    
    <a href="http://www.vox.com/share/6a00c2252096d88fdb010980bcd891000b?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    </entry> 
    
    <entry>
        <title>HTTP::Engine is optimized for CGI?</title>   
        <link rel="alternate" type="text/html" title="HTTP::Engine is optimized for CGI?" href="http://tokuhirom.vox.com/library/post/httpengine-is-optimized-for-cgi.html?_c=feed-atom-full" /> 
        <link rel="service.edit" type="application/atom+xml" title="HTTP::Engine is optimized for CGI?" href="http://www.vox.com/atom/svc=post/asset_id=6a00c2252096d88fdb010980bcbf46000b" />          <id>tag:vox.com,2008-12-02:asset-6a00c2252096d88fdb010980bcbf46000b</id>
        <published>2008-12-02T00:53:37Z</published>
        <updated>2008-12-02T01:21:56Z</updated>
    
        <author>
            <name>tokuhirom</name>
            <uri>http://tokuhirom.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://tokuhirom.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>ANSWER is NO and YES.</p><p>Main target of the HTTP::Engine is FastCGI/ModPerl.</p><p>1. CGI is not a main target.</p><p>2. HTTP::Engine 0.0.x seriese uses a lot of memory.Shika makes smart process.</p><p>3. HTTP::Engine is middleware. not a application.middleware should use small memory.</p><p>4. Short compile time makes easy development.</p><p>5. As a side effect, HTTP::Engine::Interface::CGI is faster than before.<br /> </p>   <p style="clear:both;">    
    <a href="http://www.vox.com/share/6a00c2252096d88fdb010980bcbf46000b?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    </entry> 
    
    <entry>
        <title>Why Shika?</title>   
        <link rel="alternate" type="text/html" title="Why Shika?" href="http://tokuhirom.vox.com/library/post/why-shika.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="Why Shika?" href="http://tokuhirom.vox.com/library/post/why-shika.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="Why Shika?" href="http://www.vox.com/atom/svc=post/asset_id=6a00c2252096d88fdb010980bcb8f2000b" />          <id>tag:vox.com,2008-12-01:asset-6a00c2252096d88fdb010980bcb8f2000b</id>
        <published>2008-12-01T23:04:36Z</published>
        <updated>2008-12-01T23:12:13Z</updated>
    
        <author>
            <name>tokuhirom</name>
            <uri>http://tokuhirom.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://tokuhirom.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>Shika is a new class builder.Current main maintener is tokuhirom and yappo.</p><p>Shika&#39;s use case is very simple. Jus a HTTP::Engine.</p><ul><li>Moose has cool API</li><li>Moose uses too much loading time for HTTP::Engine</li><ul><li>perl -e &#39;use Moose&#39;&#160; 0.30s user 0.01s system 94% cpu 0.330 total</li></ul><li>Moose uses a lot of memory.</li><li>We need a lightweight class builder, based on cool API.</li><li>We don&#39;t need a MOP.</li><li>We can write faster implementation</li><ul><li>no MOP;</li><li>use XS;(gfx can write very fast XS code =)</li><li>type check is optional(in development mode)</li><li>no eval.</li><li>Shika is Moose incompaible.</li></ul><li>Shika supports</li><ul><li>opional type constraints</li><li>Role, with, has, before, around, after, etc.</li></ul><li>Mouse is the answer one of this problem. I know.</li></ul><p>Current project status is<br /><ul><li>development release</li><li>no XS yet</li><li>loading time is 0.88sec =&gt; 0.11sec</li></ul> </p>   <p style="clear:both;">    
    <a href="http://www.vox.com/share/6a00c2252096d88fdb010980bcb8f2000b?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    </entry> 
    
    <entry>
        <title>shipped llv8call 0.07</title>   
        <link rel="alternate" type="text/html" title="shipped llv8call 0.07" href="http://tokuhirom.vox.com/library/post/shipped-llv8call-007.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="shipped llv8call 0.07" href="http://tokuhirom.vox.com/library/post/shipped-llv8call-007.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="shipped llv8call 0.07" href="http://www.vox.com/atom/svc=post/asset_id=6a00c2252096d88fdb0100a7fec849000e" />          <id>tag:vox.com,2008-09-28:asset-6a00c2252096d88fdb0100a7fec849000e</id>
        <published>2008-09-28T07:03:07Z</published>
        <updated>2008-09-28T07:04:11Z</updated>
    
        <author>
            <name>tokuhirom</name>
            <uri>http://tokuhirom.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://tokuhirom.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>The killer feature of this version is &quot;shttpd support&quot;(http://shttpd.sourceforge.net/).</p><p>Run the httpd by JavaScript!</p><blockquote><p>v8ext.LoadBinary(<span class="synConstant">&quot;org.coderepos.shttpd&quot;</span>);<br /><span class="synIdentifier">var</span> SHTTPD = org.coderepos.shttpd.SHTTPD;</p><p><span class="synIdentifier">var</span> httpd = <span class="synStatement">new</span> SHTTPD(8080);<br />httpd.RegisterURI(<span class="synConstant">&quot;/&quot;</span>, <span class="synIdentifier">function</span> (r) <span class="synIdentifier">{</span><br />&#160;&#160;    r.Print(<span class="synConstant">&quot;HTTP/1.1 200 OK</span><span class="synSpecial">\r\n</span><span class="synConstant">Content-Type: text/html</span><span class="synSpecial">\r\n\r\n</span><span class="synConstant">&quot;</span>);<br />&#160;&#160;    r.Print(<span class="synConstant">&quot;&lt;html&gt;&lt;body&gt;Hello, v8 world&lt;/body&gt;&lt;/html&gt;&quot;</span>);<br />&#160;&#160;    r.SetFlags(SHTTPD.END_OF_OUTPUT);<br /><span class="synIdentifier">}</span>);<br />httpd.StartLoop();</p></blockquote><pre class="syntax-highlight"></pre>   <p style="clear:both;">    
    <a href="http://www.vox.com/share/6a00c2252096d88fdb0100a7fec849000e?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    </entry> 
    
    <entry>
        <title>Architecture of llv8call</title>   
        <link rel="alternate" type="text/html" title="Architecture of llv8call" href="http://tokuhirom.vox.com/library/post/architecture-of-llv8call.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="Architecture of llv8call" href="http://tokuhirom.vox.com/library/post/architecture-of-llv8call.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="Architecture of llv8call" href="http://www.vox.com/atom/svc=post/asset_id=6a00c2252096d88fdb00fa969e5abe0003" />          <id>tag:vox.com,2008-09-28:asset-6a00c2252096d88fdb00fa969e5abe0003</id>
        <published>2008-09-28T02:42:55Z</published>
        <updated>2008-09-28T02:42:55Z</updated>
    
        <author>
            <name>tokuhirom</name>
            <uri>http://tokuhirom.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://tokuhirom.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>llv8call is a good solution for server side javascript.It is composed of <strong>three</strong> parts. </p><p><strong><span style="font-size: 1.95312em;">1. Core</span></strong><br /><ul><li> builtin functions</li><li>ARGV support</li><li> ENV support</li><li> better interactive mode based on libreadline</li></ul><span style="font-size: 1.25em;"><strong><span style="font-size: 1.5625em;">2.v8ext</span></strong></span><br />v8ext is extension library library for v8. This module makes &quot;easy to extend your application, uses v8&quot;.<br />This module provides 2 methods and 1 property<br /><ul><li>v8ext.LoadScript()</li><li>v8ext.LoadBinary()</li><li>v8ext.LibraryPath</li></ul>This library is easy to use =)<br /><span style="font-size: 1.95312em;"><strong>3.extension libraries</strong><br /><span style="font-size: 0.512em;">llv8call respects&#160; &quot;</span></span><em>batteries</em> included&quot; style.<br />current version provides:<br /><ul><li>sqlite3</li><li>libfcgi</li><li>nspr(NetScape Portable Runtime), this module exports File, TCPSocket, UDPSocket, Process Management, Dir, etc.</li><li>libmemcached</li><li>curl</li></ul><br /></p>   <p style="clear:both;">    
    <a href="http://www.vox.com/share/6a00c2252096d88fdb00fa969e5abe0003?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    </entry> 
</feed>


