<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://elinux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://elinux.org/index.php?title=Profilers&amp;feed=atom&amp;action=history</id>
		<title>Profilers - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://elinux.org/index.php?title=Profilers&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Profilers&amp;action=history"/>
		<updated>2013-05-23T06:28:04Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.21alpha</generator>

	<entry>
		<id>http://elinux.org/index.php?title=Profilers&amp;diff=86120&amp;oldid=prev</id>
		<title>Guil at 12:24, 18 January 2012</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Profilers&amp;diff=86120&amp;oldid=prev"/>
				<updated>2012-01-18T12:24:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 12:24, 18 January 2012&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 70:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 70:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Imprecise&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Imprecise&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Huge overhead&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Huge overhead&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;== ARM Streamline ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[http://www.arm.com/streamline ARM Streamline] is a commercial sample-based system performance analyzer which brings together performance counters from the core(s) and OS, time- and event-based profiling, context switch tracepoints, and instrumented messages (like printf) to provide developers with a system-to-instruction drill-down ability.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Streamline is a component of the ARM DS-5 suite, which has a [http://www.arm.com/products/tools/software-tools/ds-5/ds-5-downloads.php 30-day evaluation] version available for download. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Guil</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Profilers&amp;diff=8071&amp;oldid=prev</id>
		<title>FransMeulenbroeks at 07:34, 18 November 2008</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Profilers&amp;diff=8071&amp;oldid=prev"/>
				<updated>2008-11-18T07:34:22Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 07:34, 18 November 2008&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 96:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 96:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Since these are simulators, your application will run very slow, from 20 to 100 times or more.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Since these are simulators, your application will run very slow, from 20 to 100 times or more.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Tools]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Tools&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FransMeulenbroeks</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Profilers&amp;diff=8070&amp;oldid=prev</id>
		<title>FransMeulenbroeks at 07:34, 18 November 2008</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Profilers&amp;diff=8070&amp;oldid=prev"/>
				<updated>2008-11-18T07:34:05Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 07:34, 18 November 2008&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 95:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 95:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Since these are simulators, your application will run very slow, from 20 to 100 times or more.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Since these are simulators, your application will run very slow, from 20 to 100 times or more.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Tools]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key elinux:diff:version:1.11a:oldid:8029:newid:8070 --&gt;
&lt;/table&gt;</summary>
		<author><name>FransMeulenbroeks</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Profilers&amp;diff=8029&amp;oldid=prev</id>
		<title>GustavoBarbieri: /* Valgrind Cachegrind/Callgrind */</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Profilers&amp;diff=8029&amp;oldid=prev"/>
				<updated>2008-11-17T22:53:20Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Valgrind Cachegrind/Callgrind&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 22:53, 17 November 2008&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 87:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 87:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Documentation ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Documentation ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;* [[Valgrind|Valgrind information in this wiki]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://valgrind.org/docs/manual/manual.html Valgrind Manual]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://valgrind.org/docs/manual/manual.html Valgrind Manual]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://valgrind.org/docs/manual/FAQ.html FAQ]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://valgrind.org/docs/manual/FAQ.html FAQ]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>GustavoBarbieri</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Profilers&amp;diff=8027&amp;oldid=prev</id>
		<title>GustavoBarbieri: /* User Interfaces */</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Profilers&amp;diff=8027&amp;oldid=prev"/>
				<updated>2008-11-17T22:45:59Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;User Interfaces&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 22:45, 17 November 2008&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 82:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 82:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== User Interfaces ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== User Interfaces ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;==== KCachegrind ====&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The most famous user interface is [http://kcachegrind.sourceforge.net/cgi-bin/show.cgi/KcacheGrindIndex KCachegrind]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The most famous user interface is [http://kcachegrind.sourceforge.net/cgi-bin/show.cgi/KcacheGrindIndex KCachegrind]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key elinux:diff:version:1.11a:oldid:8026:newid:8027 --&gt;
&lt;/table&gt;</summary>
		<author><name>GustavoBarbieri</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Profilers&amp;diff=8026&amp;oldid=prev</id>
		<title>GustavoBarbieri at 22:45, 17 November 2008</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Profilers&amp;diff=8026&amp;oldid=prev"/>
				<updated>2008-11-17T22:45:26Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Linux systems count with a wide variety of profilers each of with their pros and cons, there is no magic bullet, it's recommended to use more than one tool when analyzing your application, I recommend you to use at least OProfile and Valgrind.&lt;br /&gt;
&lt;br /&gt;
== OProfile ==&lt;br /&gt;
&lt;br /&gt;
[http://oprofile.sourceforge.net/about OProfile] is a non-obtrusive system-wide profiler for Linux, it can use system's performance counters to give you insights on where to optimize your code.&lt;br /&gt;
&lt;br /&gt;
Helper script for simple runs (remember to run &amp;lt;code&amp;gt;opcontrol --setup ...&amp;lt;/code&amp;gt; once before this script):&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 sudo opcontrol --init&lt;br /&gt;
 sudo opcontrol --start&lt;br /&gt;
 sudo opcontrol --dump&lt;br /&gt;
 sudo opcontrol --reset&lt;br /&gt;
 $@&lt;br /&gt;
 sudo opcontrol --stop&lt;br /&gt;
 opreport --symbols &amp;gt; oprof.txt&lt;br /&gt;
&lt;br /&gt;
see also [http://oprofile.sourceforge.net/doc/oprofile-gui.html oprof_start]&lt;br /&gt;
&lt;br /&gt;
=== User Interfaces ===&lt;br /&gt;
&lt;br /&gt;
==== oprof_start ====&lt;br /&gt;
&lt;br /&gt;
Qt3 GUI for OProfile, ships in official distribution, see http://oprofile.sourceforge.net/doc/oprofile-gui.html&lt;br /&gt;
&lt;br /&gt;
==== KCachegrind ====&lt;br /&gt;
&lt;br /&gt;
One can use reports that are usable by kcachegrind with (for more instruction see http://docs.kde.org/kde3/en/kdesdk/kcachegrind/using-kcachegrind.html): &lt;br /&gt;
&lt;br /&gt;
 opreport -gdf | op2callgrind &lt;br /&gt;
&lt;br /&gt;
==== OProfileUI ====&lt;br /&gt;
&lt;br /&gt;
Another useful application is [http://labs.o-hand.com/oprofileui/ OProfileUI], it provides a GTK+2 user interface to run and show statistics, including basic call graph.&lt;br /&gt;
&lt;br /&gt;
=== Documentation ===&lt;br /&gt;
&lt;br /&gt;
In depth explanation can be found at:&lt;br /&gt;
* [http://www-128.ibm.com/developerworks/linux/library/l-oprof.html IBM DeveloperWorks]&lt;br /&gt;
* [http://oprofile.sourceforge.net/doc/index.html OProfile Manual]&lt;br /&gt;
* [http://oprofile.sourceforge.net/faq/ OProfile FAQ]&lt;br /&gt;
&lt;br /&gt;
=== Caveats ===&lt;br /&gt;
&lt;br /&gt;
* JFFS2 does not provide OProfile requirements, running OProfile to output data into JFFS2 partition will fail, instead use a ramfs or some external card with ext2/3:&lt;br /&gt;
 mkdir /var/lib/oprofile&lt;br /&gt;
 # ram&lt;br /&gt;
 mount -t ramfs none /var/lib/oprofile&lt;br /&gt;
 # ext3&lt;br /&gt;
 mount -t ext3 /dev/sda1 /var/lib/oprofile&lt;br /&gt;
* settings event counter too low or too high may hang your test machine. Check the recommended value for each event on specific platforms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GProf ==&lt;br /&gt;
&lt;br /&gt;
Unlike OProfile, GProf requires applications to be compiled with special flag &amp;lt;code&amp;gt;-pg&amp;lt;/code&amp;gt; so compiler will introduce marks in generated binary to measure runs. After run the &amp;lt;code&amp;gt;gmon.out&amp;lt;/code&amp;gt; file will be created with measured data, this file can be viewed with tools like gprof or kprof.&lt;br /&gt;
&lt;br /&gt;
=== User Interfaces ===&lt;br /&gt;
&lt;br /&gt;
==== KProf ====&lt;br /&gt;
&lt;br /&gt;
Outdated, but exists: http://kprof.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
=== Documentation ===&lt;br /&gt;
&lt;br /&gt;
* [http://sourceware.org/binutils/docs/gprof/index.html GProf Manual]&lt;br /&gt;
&lt;br /&gt;
=== Caveats ===&lt;br /&gt;
&lt;br /&gt;
* Imprecise&lt;br /&gt;
* Huge overhead&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Valgrind Cachegrind/Callgrind ==&lt;br /&gt;
&lt;br /&gt;
[http://valgrind.org/info/about.html Valgrind] is tool suite for debugging and profiling. It's most famous for it's '''memcheck''' tool to check for memory leaks, invalid access, double frees and more, but also ships with interesting callgrind and cachegrind.&lt;br /&gt;
&lt;br /&gt;
'''cachegrind''' will accurately simulate L1, L2 and D1 CPU caches so you can figure out what in your code is trashing your memory access.&lt;br /&gt;
&lt;br /&gt;
'''callgrind''' is an extension of cachegrind that will collect call graphs.&lt;br /&gt;
&lt;br /&gt;
=== User Interfaces ===&lt;br /&gt;
&lt;br /&gt;
The most famous user interface is [http://kcachegrind.sourceforge.net/cgi-bin/show.cgi/KcacheGrindIndex KCachegrind]&lt;br /&gt;
&lt;br /&gt;
=== Documentation ===&lt;br /&gt;
&lt;br /&gt;
* [http://valgrind.org/docs/manual/manual.html Valgrind Manual]&lt;br /&gt;
* [http://valgrind.org/docs/manual/FAQ.html FAQ]&lt;br /&gt;
* http://docs.kde.org/kde3/en/kdesdk/kcachegrind/using-kcachegrind.html&lt;br /&gt;
&lt;br /&gt;
=== Caveats ===&lt;br /&gt;
&lt;br /&gt;
* Since these are simulators, your application will run very slow, from 20 to 100 times or more.&lt;/div&gt;</summary>
		<author><name>GustavoBarbieri</name></author>	</entry>

	</feed>