<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Блог Андрея Смирнова (profiling)</title><link>http://www.smira.ru/</link><description></description><language>ru</language><lastBuildDate>Sun, 11 Jan 2015 19:24:23 GMT</lastBuildDate><generator>http://getnikola.com/</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Профайлинг Twisted-приложений</title><link>http://www.smira.ru/posts/20100215profiling-twisted-applications.html</link><dc:creator>Andrey</dc:creator><description>&lt;img alt="/galleries/kcachegrind.png" src="http://www.smira.ru/galleries/kcachegrind.png"&gt;
&lt;p&gt;Часто сам забываю, как профилировать легко и быстро Twisted-приложения (с некоторым изменениями подойдет для любых Python-приложений).
Кроме Twisted нам понадобится еще &lt;a class="reference external" href="http://kcachegrind.sourceforge.net/"&gt;KCachegrind&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Запускаем наше приложение с включенным профайлингом:&lt;/p&gt;
&lt;pre class="code sh literal-block"&gt;
twistd -n --savestats --profile&lt;span class="o"&gt;=&lt;/span&gt;myprog.hotshot myprog
&lt;/pre&gt;
&lt;p&gt;Подаем нагрузку, профайл собирается. Теперь с помощью утилиты &lt;tt class="docutils literal"&gt;hotshot2cg&lt;/tt&gt; из поставки KCachegrind превращаем
hotshot-профайл в calltree-профайл, который уже умеет KCachegrind "кушать".&lt;/p&gt;
&lt;pre class="code sh literal-block"&gt;
hotshot2cg myprog.hotshot &amp;gt; myprog.calltree
&lt;/pre&gt;
&lt;p&gt;Запускаем KCachegrind, открываем в нем полученный профайл:&lt;/p&gt;
&lt;pre class="code sh literal-block"&gt;
kcachegrind myprog.calltree
&lt;/pre&gt;</description><category>Python</category><category>Twisted</category><category>hotshot</category><category>kcachegrind</category><category>profiling</category><category>разработка</category><guid>http://www.smira.ru/posts/20100215profiling-twisted-applications.html</guid><pubDate>Mon, 15 Feb 2010 20:11:56 GMT</pubDate></item></channel></rss>