<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>DEAN LEE:/DEV/BLOG &#187; performance</title>
	<atom:link href="http://www.deanlee.cn/tag/performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.deanlee.cn</link>
	<description>mount /dev/brain &#124;&#124; tail -f /var/log/thoughts &#62;&#62; /pub/www</description>
	<pubDate>Fri, 30 Dec 2011 13:27:51 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>LogMicroscope:boost performance for logging system by 43%</title>
		<link>http://www.deanlee.cn/programming/logmicroscope-boost-logging-performance/</link>
		<comments>http://www.deanlee.cn/programming/logmicroscope-boost-logging-performance/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 08:56:38 +0000</pubDate>
		<dc:creator>Dean Lee</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[logging]]></category>

		<category><![CDATA[logmicroscope]]></category>

		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.deanlee.cn/programming/logmicroscope-boost-logging-performance/</guid>
		<description><![CDATA[Recently,I have rewritten the logging engine for LogMicroscope,using circular-buffer in log writing threads,and WriteFileGather in file writing thread to gathers up the data from these discrete buffers in memory and transfers them &#34;in place&#34; as a single operation.
with WriteFIleGather, the disk is always keep busy without entering and leaving from kernel mode. log data can [...]]]></description>
			<content:encoded><![CDATA[<p>Recently,I have rewritten the logging engine for <a href="http://lm.35.com" target="_blank">LogMicroscope</a>,using <a href="http://en.wikipedia.org/wiki/Circular_buffer" target="_blank">circular-buffer</a> in log writing threads,and <a href="http://msdn.microsoft.com/en-us/library/aa365749%28VS.85%29.aspx" target="_blank">WriteFileGather</a> in file writing thread to gathers up the data from these discrete buffers in memory and transfers them &quot;in place&quot; as a single operation.</p>
<p>with WriteFIleGather, the disk is always keep busy without entering and leaving from kernel mode. log data can be written to disk at a rate that approaches the limits of the physical characteristics of the hardware device.that’s really boost the I/O performance.</p>
<p>because the CPU is mostly idle during write operation,to maximum the performance,I have compressed the data before writing to the disk to reduce the amount of data to be written,the compress is always faster than the I/O operation,so that I get the compression for “free”.</p>
<p>after these changes,the performance for logging system has increased by over 43%.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deanlee.cn/programming/logmicroscope-boost-logging-performance/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Boost your WordPress performance on Windows IIS 6 with FastCGI and eAccelerator in 5 minutes</title>
		<link>http://www.deanlee.cn/wordpress/boost-wordpress-performance-on-windows-iis/</link>
		<comments>http://www.deanlee.cn/wordpress/boost-wordpress-performance-on-windows-iis/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 20:37:27 +0000</pubDate>
		<dc:creator>Dean Lee</dc:creator>
		
		<category><![CDATA[wordpress]]></category>

		<category><![CDATA[eAccelerator]]></category>

		<category><![CDATA[fastcgi]]></category>

		<category><![CDATA[IIS]]></category>

		<category><![CDATA[performance]]></category>

		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.deanlee.cn/technology/boost-your-wordpress-performance-on-windows-iis-6-with-fastcgi-and-eaccelerator-in-5-minutes</guid>
		<description><![CDATA[First,download and install the FastCgi Extension for IIS 6 from microsoft.The FastCGI protocol enables PHP applications to be hosted on the IIS web server in a high-performance and reliable way.FastCGI re-uses CGI processes for multiple requests, which provides a significant performance boost as compared to CGI.
Once FastCgi is installed,Config FastCGI extension to work with php:

Open [...]]]></description>
			<content:encoded><![CDATA[<p>First,download and install the <a target="_blank" href="http://www.microsoft.com/DownLoads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&amp;displaylang=en">FastCgi Extension for IIS 6</a> from microsoft.The FastCGI protocol enables PHP applications to be hosted on the IIS web server in a high-performance and reliable way.FastCGI re-uses CGI processes for multiple requests, which provides a significant performance boost as compared to CGI.</p>
<p>Once FastCgi is installed,Config FastCGI extension to work with php:</p>
<ol>
<li>Open a command line window,and change the current directory&nbsp; to %WINDIR%\system32\inetsrv.</li>
<li>Run      <br />
    cscript fcgiconfig.js -add -section:&quot;PHP&quot; -extension:php -path:&quot;C:\PHP\php-cgi.exe&quot;       <br />
    to register the PHP CGI program as the one that will be processing .php extensions.</li>
<li>Modify fcigext.ini file in %WINDIR%\system32\inetsrv as the following (assuming you installed PHP to C:\PHP folder):<br />
<blockquote style="margin-right: 0px;" dir="ltr">[Types]        <br />
    php=PHP</p>
<p>[PHP]          <br />
    ExePath=c:\php\php-cgi.exe</p>
</blockquote>
</li>
</ol>
<p>Next,download and install <a target="_blank" href="http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds">eAccelerator</a>.eAccelerator is a free open-source PHP accelerator, optimizer, and dynamic content cache. It increases the performance of PHP scripts by caching them in their compiled state, so that the overhead of compiling is almost completely eliminated. It also optimizes scripts to speed up their execution. eAccelerator typically reduces server load and increases the speed of your PHP code by 1-10 times.</p>
<p>After eAccelerator is downloaded:</p>
<ol>
<li>Copy eaccelerator.dll to your php extensions folder to c:\php\extensions.(assuming you installed PHP to C:\PHP folder)</li>
<li>Create a folder (with the appropriate permissions) for the temporary cached files.      <br />
    For example: c:\tmp\eaccelerator</li>
<li>Add the following to your php.ini (as the first loaded extension):<br />
<blockquote>
<p>extension=eAccelerator.dll          <br />
    eaccelerator.shm_size=&quot;128&quot;           <br />
    eaccelerator.cache_dir=&quot;c:\tmp\eaccelerator&quot;           <br />
    eaccelerator.enable=&quot;1&quot;           <br />
    eaccelerator.optimizer=&quot;1&quot;           <br />
    eaccelerator.check_mtime=&quot;1&quot;           <br />
    eaccelerator.filter=&quot;&quot;           <br />
    eaccelerator.shm_max=&quot;0&quot;           <br />
    eaccelerator.shm_ttl=&quot;0&quot;           <br />
    eaccelerator.shm_prune_period=&quot;0&quot;&nbsp; <br />
    eaccelerator.shm_only=&quot;0&quot;           <br />
    eaccelerator.compress=&quot;1&quot;           <br />
    eaccelerator.compress_level=&quot;9&quot;           <br />
    eaccelerator.keys = &quot;shm&quot;           <br />
    eaccelerator.sessions = &quot;shm&quot;           <br />
    eaccelerator.content = &quot;shm&quot;</p>
</blockquote>
</li>
</ol>
<p>That&rsquo;s all,restart your IIS and you&rsquo;ll get a faster Wordpress on windows IIS 6 with highly boosted performance.</p>
<p>Because IIS does not support mod_rewrite module for rewriting URLs,the biggest problem hosting wordpress on iis is that you always get an &lsquo;ugly&rsquo; and not SEO-friendly index.php in your permalinks.you can install <a target="_blank" href="http://code.google.com/p/wp-url-rewriting-on-iis/">wp_url_rewriting</a>,an open source URL rewriting for wordpress, to resolve this issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deanlee.cn/wordpress/boost-wordpress-performance-on-windows-iis/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hash table collision resolution</title>
		<link>http://www.deanlee.cn/programming/hash-table-collision-resolution/</link>
		<comments>http://www.deanlee.cn/programming/hash-table-collision-resolution/#comments</comments>
		<pubDate>Mon, 05 Jun 2006 10:20:01 +0000</pubDate>
		<dc:creator>Dean Lee</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[algorithms]]></category>

		<category><![CDATA[hash]]></category>

		<category><![CDATA[hash-tables]]></category>

		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://deanlee.cn:8080/index.php/2006/06/05/hash-table-collision-resolution/</guid>
		<description><![CDATA[最近需要一个高性能的hash实现，对比了很多实现hash表的源代码，主要区别在于冲突检测的实现方式。
关于冲突检测的两种方式的对比(chaining and open addressing)：
http://www.absoluteastronomy.com/enc1/hash_table
Google有一个高效的实现Open addressing hash 的开源项目
http://goog-sparsehash.sourceforge.net/
Open addressing的性能可能会更好些，但是前提是需要一个非常好的hash生成算法。如果使用Chaining方式，加上一个非常高效的memory pool管理，减少cache失效时间，平均性能应该和Open addressing差不多。
顺便了解下judy:
A Performance Comparison of Judy to Hash Tables 
]]></description>
			<content:encoded><![CDATA[<p>最近需要一个高性能的hash实现，对比了很多实现hash表的源代码，主要区别在于冲突检测的实现方式。</p>
<p>关于冲突检测的两种方式的对比(chaining and open addressing)：</p>
<p><a target="_blank" href="http://www.absoluteastronomy.com/enc1/hash_table">http://www.absoluteastronomy.com/enc1/hash_table</a></p>
<p>Google有一个高效的实现Open addressing hash 的开源项目</p>
<p><a target="_blank" href="http://goog-sparsehash.sourceforge.net/">http://goog-sparsehash.sourceforge.net/</a></p>
<p>Open addressing的性能可能会更好些，但是前提是需要一个非常好的hash生成算法。如果使用Chaining方式，加上一个非常高效的memory pool管理，减少cache失效时间，平均性能应该和Open addressing差不多。</p>
<p>顺便了解下judy:<br />
<a target="_blank" href="http://www.nothings.org/computer/judy/">A Performance Comparison of Judy to Hash Tables </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.deanlee.cn/programming/hash-table-collision-resolution/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

