document.open();
document.writeln("<style type=\"text/css\">table.smipple-net-highlighttable div,pre,p,th,td{margin:0;padding:0;}</style>");
document.writeln("<div class=\"notranslate\" style=\"position:relative;\">");
document.writeln("<div style=\"overflow:auto;display:block;border:1px solid #E0E0E0;font: 11px Monaco,monospace !important;\">");

document.writeln("<table class=\"smipple-net-highlighttable\"><tr><td class=\"linenos\"><pre> 1");

document.writeln(" 2");

document.writeln(" 3");

document.writeln(" 4");

document.writeln(" 5");

document.writeln(" 6");

document.writeln(" 7");

document.writeln(" 8");

document.writeln(" 9");

document.writeln("10");

document.writeln("11");

document.writeln("12");

document.writeln("13");

document.writeln("14");

document.writeln("15");

document.writeln("16");

document.writeln("17");

document.writeln("18");

document.writeln("19");

document.writeln("20");

document.writeln("21");

document.writeln("22");

document.writeln("23");

document.writeln("24");

document.writeln("25");

document.writeln("26");

document.writeln("27");

document.writeln("28");

document.writeln("29");

document.writeln("30");

document.writeln("31");

document.writeln("32");

document.writeln("33");

document.writeln("34");

document.writeln("35");

document.writeln("36");

document.writeln("37");

document.writeln("38");

document.writeln("39");

document.writeln("40");

document.writeln("41");

document.writeln("42");

document.writeln("43");

document.writeln("44");

document.writeln("45");

document.writeln("46");

document.writeln("47");

document.writeln("48");

document.writeln("49");

document.writeln("50");

document.writeln("51");

document.writeln("52");

document.writeln("53");

document.writeln("54");

document.writeln("55");

document.writeln("56");

document.writeln("57");

document.writeln("58");

document.writeln("59");

document.writeln("60");

document.writeln("61");

document.writeln("62");

document.writeln("63");

document.writeln("64");

document.writeln("65");

document.writeln("66");

document.writeln("67");

document.writeln("68");

document.writeln("69");

document.writeln("70");

document.writeln("71");

document.writeln("72");

document.writeln("73");

document.writeln("74");

document.writeln("75");

document.writeln("76");

document.writeln("77");

document.writeln("78");

document.writeln("79");

document.writeln("80");

document.writeln("81");

document.writeln("82");

document.writeln("83");

document.writeln("84");

document.writeln("85");

document.writeln("86");

document.writeln("87");

document.writeln("88");

document.writeln("89");

document.writeln("90");

document.writeln("91");

document.writeln("92");

document.writeln("93");

document.writeln("94");

document.writeln("95");

document.writeln("96");

document.writeln("97");

document.writeln("98");

document.writeln("99</pre></td><td class=\"code\"><div class=\"smipple-net-highlight\" style=\"border-collapse:collapse;border-spacing:0;\"><pre style=\"margin:0;padding:0 0 0 5;\"><a name=\"line-1\"></a><span style=\"color: #008000; font-weight: bold\">import</span> <span style=\"color: #0e84b5; font-weight: bold\">tokyotyrant</span>");

document.writeln("<a name=\"line-2\"></a><span style=\"color: #008000; font-weight: bold\">from</span> <span style=\"color: #0e84b5; font-weight: bold\">pytyrant</span> <span style=\"color: #008000; font-weight: bold\">import</span> Tyrant");

document.writeln("<a name=\"line-3\"></a><span style=\"color: #008000; font-weight: bold\">import</span> <span style=\"color: #0e84b5; font-weight: bold\">threading</span>");

document.writeln("<a name=\"line-4\"></a><span style=\"color: #008000; font-weight: bold\">import</span> <span style=\"color: #0e84b5; font-weight: bold\">time</span>");

document.writeln("<a name=\"line-5\"></a>");

document.writeln("<a name=\"line-6\"></a><span style=\"color: #008000; font-weight: bold\">class</span> <span style=\"color: #B00060; font-weight: bold\">PyTyrantTest</span>(<span style=\"color: #007020\">object</span>):");

document.writeln("<a name=\"line-7\"></a>    <span style=\"color: #008000; font-weight: bold\">def</span> <span style=\"color: #0060B0; font-weight: bold\">create_many</span>(<span style=\"color: #007020\">self</span>):");

document.writeln("<a name=\"line-8\"></a>        data <span style=\"color: #303030\">=</span> <span style=\"background-color: #fff0f0\">&#39;a&#39;</span> <span style=\"color: #303030\">*</span> <span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>size");

document.writeln("<a name=\"line-9\"></a>        d <span style=\"color: #303030\">=</span> Tyrant<span style=\"color: #303030\">.</span>open(<span style=\"background-color: #fff0f0\">&#39;127.0.0.1&#39;</span>, <span style=\"color: #6000E0; font-weight: bold\">1978</span>)");

document.writeln("<a name=\"line-10\"></a>        <span style=\"color: #008000; font-weight: bold\">for</span> i <span style=\"color: #000000; font-weight: bold\">in</span> <span style=\"color: #007020\">xrange</span>(<span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>start, <span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>stop):");

document.writeln("<a name=\"line-11\"></a>            d<span style=\"color: #303030\">.</span>put(<span style=\"background-color: #fff0f0\">&quot;attr_</span><span style=\"background-color: #e0e0e0\">%s</span><span style=\"background-color: #fff0f0\">&quot;</span> <span style=\"color: #303030\">%</span> i, data)");

document.writeln("<a name=\"line-12\"></a>        d<span style=\"color: #303030\">.</span>close()");

document.writeln("<a name=\"line-13\"></a>        ");

document.writeln("<a name=\"line-14\"></a>    <span style=\"color: #008000; font-weight: bold\">def</span> <span style=\"color: #0060B0; font-weight: bold\">delete_all_stupid</span>(<span style=\"color: #007020\">self</span>):");

document.writeln("<a name=\"line-15\"></a>        d <span style=\"color: #303030\">=</span> Tyrant<span style=\"color: #303030\">.</span>open(<span style=\"background-color: #fff0f0\">&#39;127.0.0.1&#39;</span>, <span style=\"color: #6000E0; font-weight: bold\">1978</span>)");

document.writeln("<a name=\"line-16\"></a>        <span style=\"color: #008000; font-weight: bold\">for</span> i <span style=\"color: #000000; font-weight: bold\">in</span> <span style=\"color: #007020\">xrange</span>(<span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>start, <span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>stop):");

document.writeln("<a name=\"line-17\"></a>            d<span style=\"color: #303030\">.</span>out(<span style=\"background-color: #fff0f0\">&quot;attr_</span><span style=\"background-color: #e0e0e0\">%s</span><span style=\"background-color: #fff0f0\">&quot;</span> <span style=\"color: #303030\">%</span> i)");

document.writeln("<a name=\"line-18\"></a>        d<span style=\"color: #303030\">.</span>close()");

document.writeln("<a name=\"line-19\"></a>");

document.writeln("<a name=\"line-20\"></a>    <span style=\"color: #008000; font-weight: bold\">def</span> <span style=\"color: #0060B0; font-weight: bold\">delete_all</span>(<span style=\"color: #007020\">self</span>):");

document.writeln("<a name=\"line-21\"></a>        d <span style=\"color: #303030\">=</span> Tyrant<span style=\"color: #303030\">.</span>open(<span style=\"background-color: #fff0f0\">&#39;127.0.0.1&#39;</span>, <span style=\"color: #6000E0; font-weight: bold\">1978</span>)");

document.writeln("<a name=\"line-22\"></a>        d<span style=\"color: #303030\">.</span>vanish()");

document.writeln("<a name=\"line-23\"></a>        d<span style=\"color: #303030\">.</span>close()");

document.writeln("<a name=\"line-24\"></a>");

document.writeln("<a name=\"line-25\"></a><span style=\"color: #008000; font-weight: bold\">class</span> <span style=\"color: #B00060; font-weight: bold\">PyTokyoTyrantTest</span>(<span style=\"color: #007020\">object</span>):");

document.writeln("<a name=\"line-26\"></a>    <span style=\"color: #008000; font-weight: bold\">def</span> <span style=\"color: #0060B0; font-weight: bold\">create_many</span>(<span style=\"color: #007020\">self</span>):");

document.writeln("<a name=\"line-27\"></a>        data <span style=\"color: #303030\">=</span> <span style=\"background-color: #fff0f0\">&#39;a&#39;</span> <span style=\"color: #303030\">*</span> <span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>size");

document.writeln("<a name=\"line-28\"></a>        d <span style=\"color: #303030\">=</span> tokyotyrant<span style=\"color: #303030\">.</span>open(<span style=\"background-color: #fff0f0\">&#39;127.0.0.1&#39;</span>, <span style=\"color: #6000E0; font-weight: bold\">1978</span>)");

document.writeln("<a name=\"line-29\"></a>        <span style=\"color: #008000; font-weight: bold\">for</span> i <span style=\"color: #000000; font-weight: bold\">in</span> <span style=\"color: #007020\">xrange</span>(<span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>start, <span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>stop):");

document.writeln("<a name=\"line-30\"></a>            d<span style=\"color: #303030\">.</span>put(<span style=\"background-color: #fff0f0\">&quot;attr_</span><span style=\"background-color: #e0e0e0\">%s</span><span style=\"background-color: #fff0f0\">&quot;</span> <span style=\"color: #303030\">%</span> i, data)");

document.writeln("<a name=\"line-31\"></a>        d<span style=\"color: #303030\">.</span>close()");

document.writeln("<a name=\"line-32\"></a>");

document.writeln("<a name=\"line-33\"></a>    <span style=\"color: #008000; font-weight: bold\">def</span> <span style=\"color: #0060B0; font-weight: bold\">delete_all_stupid</span>(<span style=\"color: #007020\">self</span>):");

document.writeln("<a name=\"line-34\"></a>        d <span style=\"color: #303030\">=</span> tokyotyrant<span style=\"color: #303030\">.</span>open(<span style=\"background-color: #fff0f0\">&#39;127.0.0.1&#39;</span>, <span style=\"color: #6000E0; font-weight: bold\">1978</span>)");

document.writeln("<a name=\"line-35\"></a>        <span style=\"color: #008000; font-weight: bold\">for</span> i <span style=\"color: #000000; font-weight: bold\">in</span> <span style=\"color: #007020\">xrange</span>(<span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>start, <span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>stop):");

document.writeln("<a name=\"line-36\"></a>            d<span style=\"color: #303030\">.</span>out(<span style=\"background-color: #fff0f0\">&quot;attr_</span><span style=\"background-color: #e0e0e0\">%s</span><span style=\"background-color: #fff0f0\">&quot;</span> <span style=\"color: #303030\">%</span> i)");

document.writeln("<a name=\"line-37\"></a>        d<span style=\"color: #303030\">.</span>close()");

document.writeln("<a name=\"line-38\"></a>");

document.writeln("<a name=\"line-39\"></a>    <span style=\"color: #008000; font-weight: bold\">def</span> <span style=\"color: #0060B0; font-weight: bold\">delete_all</span>(<span style=\"color: #007020\">self</span>):");

document.writeln("<a name=\"line-40\"></a>        d <span style=\"color: #303030\">=</span> tokyotyrant<span style=\"color: #303030\">.</span>open(<span style=\"background-color: #fff0f0\">&#39;127.0.0.1&#39;</span>, <span style=\"color: #6000E0; font-weight: bold\">1978</span>)");

document.writeln("<a name=\"line-41\"></a>        d<span style=\"color: #303030\">.</span>vanish()");

document.writeln("<a name=\"line-42\"></a>        d<span style=\"color: #303030\">.</span>close()");

document.writeln("<a name=\"line-43\"></a>");

document.writeln("<a name=\"line-44\"></a><span style=\"color: #008000; font-weight: bold\">class</span> <span style=\"color: #B00060; font-weight: bold\">Client</span>(threading<span style=\"color: #303030\">.</span>Thread):");

document.writeln("<a name=\"line-45\"></a>    <span style=\"color: #008000; font-weight: bold\">def</span> <span style=\"color: #0060B0; font-weight: bold\">__init__</span>(<span style=\"color: #007020\">self</span>, suite, <span style=\"color: #303030\">**</span>kwarg):");

document.writeln("<a name=\"line-46\"></a>        <span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>suite <span style=\"color: #303030\">=</span> suite ");

document.writeln("<a name=\"line-47\"></a>        <span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>kwarg <span style=\"color: #303030\">=</span> kwarg");

document.writeln("<a name=\"line-48\"></a>        <span style=\"color: #007020\">super</span>(Client,<span style=\"color: #007020\">self</span>)<span style=\"color: #303030\">.</span>__init__()");

document.writeln("<a name=\"line-49\"></a>");

document.writeln("<a name=\"line-50\"></a>    <span style=\"color: #008000; font-weight: bold\">def</span> <span style=\"color: #0060B0; font-weight: bold\">run</span>(<span style=\"color: #007020\">self</span>):");

document.writeln("<a name=\"line-51\"></a>        s <span style=\"color: #303030\">=</span> <span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>suite()");

document.writeln("<a name=\"line-52\"></a>        <span style=\"color: #008000; font-weight: bold\">for</span> k, v <span style=\"color: #000000; font-weight: bold\">in</span> <span style=\"color: #007020\">self</span><span style=\"color: #303030\">.</span>kwarg<span style=\"color: #303030\">.</span>iteritems():");

document.writeln("<a name=\"line-53\"></a>            <span style=\"color: #007020\">setattr</span>(s, k, v)");

document.writeln("<a name=\"line-54\"></a>        s<span style=\"color: #303030\">.</span>create_many()");

document.writeln("<a name=\"line-55\"></a>        s<span style=\"color: #303030\">.</span>delete_all_stupid()");

document.writeln("<a name=\"line-56\"></a>        s<span style=\"color: #303030\">.</span>create_many()");

document.writeln("<a name=\"line-57\"></a>        s<span style=\"color: #303030\">.</span>delete_all_stupid()");

document.writeln("<a name=\"line-58\"></a>");

document.writeln("<a name=\"line-59\"></a><span style=\"color: #008000; font-weight: bold\">def</span> <span style=\"color: #0060B0; font-weight: bold\">doit</span>(suite, num_attr, <span style=\"color: #303030\">**</span>kwarg):");

document.writeln("<a name=\"line-60\"></a>    num_threads <span style=\"color: #303030\">=</span> <span style=\"color: #6000E0; font-weight: bold\">20</span>");

document.writeln("<a name=\"line-61\"></a>    set_size <span style=\"color: #303030\">=</span> num_attr<span style=\"color: #303030\">/</span>num_threads");

document.writeln("<a name=\"line-62\"></a>");

document.writeln("<a name=\"line-63\"></a>    threads <span style=\"color: #303030\">=</span> [Client(suite, start<span style=\"color: #303030\">=</span>(set_size<span style=\"color: #303030\">*</span>x)<span style=\"color: #303030\">+</span><span style=\"color: #6000E0; font-weight: bold\">1</span>, stop<span style=\"color: #303030\">=</span>set_size<span style=\"color: #303030\">*</span>x<span style=\"color: #303030\">+</span>set_size, <span style=\"color: #303030\">**</span>kwarg) <span style=\"color: #008000; font-weight: bold\">for</span> x <span style=\"color: #000000; font-weight: bold\">in</span> <span style=\"color: #007020\">xrange</span>(num_threads)]");

document.writeln("<a name=\"line-64\"></a>    <span style=\"color: #008000; font-weight: bold\">for</span> thread <span style=\"color: #000000; font-weight: bold\">in</span> threads:");

document.writeln("<a name=\"line-65\"></a>        thread<span style=\"color: #303030\">.</span>start()");

document.writeln("<a name=\"line-66\"></a>    <span style=\"color: #008000; font-weight: bold\">for</span> thread <span style=\"color: #000000; font-weight: bold\">in</span> threads:");

document.writeln("<a name=\"line-67\"></a>        thread<span style=\"color: #303030\">.</span>join()");

document.writeln("<a name=\"line-68\"></a>");

document.writeln("<a name=\"line-69\"></a><span style=\"color: #008000; font-weight: bold\">print</span> <span style=\"background-color: #fff0f0\">&quot;pytyrant&quot;</span>");

document.writeln("<a name=\"line-70\"></a><span style=\"color: #008000; font-weight: bold\">print</span> <span style=\"background-color: #fff0f0\">&quot;*&quot;</span> <span style=\"color: #303030\">*</span> <span style=\"color: #6000E0; font-weight: bold\">20</span>");

document.writeln("<a name=\"line-71\"></a><span style=\"color: #008000; font-weight: bold\">for</span> x <span style=\"color: #000000; font-weight: bold\">in</span> <span style=\"color: #007020\">range</span>(<span style=\"color: #6000E0; font-weight: bold\">3</span>):");

document.writeln("<a name=\"line-72\"></a>    starttime <span style=\"color: #303030\">=</span> time<span style=\"color: #303030\">.</span>time()");

document.writeln("<a name=\"line-73\"></a>    doit(PyTyrantTest, size<span style=\"color: #303030\">=</span><span style=\"color: #6000E0; font-weight: bold\">10</span>, num_attr<span style=\"color: #303030\">=</span><span style=\"color: #6000E0; font-weight: bold\">10000</span>)");

document.writeln("<a name=\"line-74\"></a>    stoptime <span style=\"color: #303030\">=</span> time<span style=\"color: #303030\">.</span>time()");

document.writeln("<a name=\"line-75\"></a>");

document.writeln("<a name=\"line-76\"></a>    <span style=\"color: #008000; font-weight: bold\">print</span> <span style=\"background-color: #fff0f0\">&quot;Running 20 threads took </span><span style=\"background-color: #e0e0e0\">%.3f</span><span style=\"background-color: #fff0f0\"> seconds&quot;</span> <span style=\"color: #303030\">%</span> (stoptime<span style=\"color: #303030\">-</span>starttime)");

document.writeln("<a name=\"line-77\"></a>");

document.writeln("<a name=\"line-78\"></a><span style=\"color: #008000; font-weight: bold\">for</span> x <span style=\"color: #000000; font-weight: bold\">in</span> <span style=\"color: #007020\">range</span>(<span style=\"color: #6000E0; font-weight: bold\">3</span>):");

document.writeln("<a name=\"line-79\"></a>    starttime <span style=\"color: #303030\">=</span> time<span style=\"color: #303030\">.</span>time()");

document.writeln("<a name=\"line-80\"></a>    doit(PyTyrantTest, size<span style=\"color: #303030\">=</span><span style=\"color: #6000E0; font-weight: bold\">100</span>, num_attr<span style=\"color: #303030\">=</span><span style=\"color: #6000E0; font-weight: bold\">50000</span>)");

document.writeln("<a name=\"line-81\"></a>    stoptime <span style=\"color: #303030\">=</span> time<span style=\"color: #303030\">.</span>time()");

document.writeln("<a name=\"line-82\"></a>");

document.writeln("<a name=\"line-83\"></a>    <span style=\"color: #008000; font-weight: bold\">print</span> <span style=\"background-color: #fff0f0\">&quot;Running 20 threads took </span><span style=\"background-color: #e0e0e0\">%.3f</span><span style=\"background-color: #fff0f0\"> seconds&quot;</span> <span style=\"color: #303030\">%</span> (stoptime<span style=\"color: #303030\">-</span>starttime)");

document.writeln("<a name=\"line-84\"></a>");

document.writeln("<a name=\"line-85\"></a><span style=\"color: #008000; font-weight: bold\">print</span> <span style=\"background-color: #fff0f0\">&quot;python-tokyotyrant&quot;</span>");

document.writeln("<a name=\"line-86\"></a><span style=\"color: #008000; font-weight: bold\">print</span> <span style=\"background-color: #fff0f0\">&quot;*&quot;</span> <span style=\"color: #303030\">*</span> <span style=\"color: #6000E0; font-weight: bold\">20</span>");

document.writeln("<a name=\"line-87\"></a><span style=\"color: #008000; font-weight: bold\">for</span> x <span style=\"color: #000000; font-weight: bold\">in</span> <span style=\"color: #007020\">range</span>(<span style=\"color: #6000E0; font-weight: bold\">3</span>):");

document.writeln("<a name=\"line-88\"></a>    starttime <span style=\"color: #303030\">=</span> time<span style=\"color: #303030\">.</span>time()");

document.writeln("<a name=\"line-89\"></a>    doit(PyTokyoTyrantTest, size<span style=\"color: #303030\">=</span><span style=\"color: #6000E0; font-weight: bold\">10</span>, num_attr<span style=\"color: #303030\">=</span><span style=\"color: #6000E0; font-weight: bold\">10000</span>)");

document.writeln("<a name=\"line-90\"></a>    stoptime <span style=\"color: #303030\">=</span> time<span style=\"color: #303030\">.</span>time()");

document.writeln("<a name=\"line-91\"></a>");

document.writeln("<a name=\"line-92\"></a>    <span style=\"color: #008000; font-weight: bold\">print</span> <span style=\"background-color: #fff0f0\">&quot;Running 20 threads took </span><span style=\"background-color: #e0e0e0\">%.3f</span><span style=\"background-color: #fff0f0\"> seconds&quot;</span> <span style=\"color: #303030\">%</span> (stoptime<span style=\"color: #303030\">-</span>starttime)");

document.writeln("<a name=\"line-93\"></a>");

document.writeln("<a name=\"line-94\"></a><span style=\"color: #008000; font-weight: bold\">for</span> x <span style=\"color: #000000; font-weight: bold\">in</span> <span style=\"color: #007020\">range</span>(<span style=\"color: #6000E0; font-weight: bold\">3</span>):");

document.writeln("<a name=\"line-95\"></a>    starttime <span style=\"color: #303030\">=</span> time<span style=\"color: #303030\">.</span>time()");

document.writeln("<a name=\"line-96\"></a>    doit(PyTokyoTyrantTest, size<span style=\"color: #303030\">=</span><span style=\"color: #6000E0; font-weight: bold\">100</span>, num_attr<span style=\"color: #303030\">=</span><span style=\"color: #6000E0; font-weight: bold\">50000</span>)");

document.writeln("<a name=\"line-97\"></a>    stoptime <span style=\"color: #303030\">=</span> time<span style=\"color: #303030\">.</span>time()");

document.writeln("<a name=\"line-98\"></a>");

document.writeln("<a name=\"line-99\"></a>    <span style=\"color: #008000; font-weight: bold\">print</span> <span style=\"background-color: #fff0f0\">&quot;Running 20 threads took </span><span style=\"background-color: #e0e0e0\">%.3f</span><span style=\"background-color: #fff0f0\"> seconds&quot;</span> <span style=\"color: #303030\">%</span> (stoptime<span style=\"color: #303030\">-</span>starttime)");

document.writeln("</pre></div>");

document.writeln("</td></tr></table>");

document.writeln("</div>");
document.writeln("<div style=\"font: 11px Arial,Sans-Serif;float:right;position:absolute;bottom:0px;right:0px;padding: 5px 10px;background:#E0E0E0;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;\"><a style=\"text-decoration:none;\" href=\"http://www.smipple.net/snippet/IanLewis/Multi-client%20benchmark%20for%20python-tokyotyrant%20and%20pytyrant\">Hosted on Smipple.net</a>");
document.writeln("</div>");
document.writeln("</div>");
document.close();

