<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DelphiTools.info &#187; Screenshots</title>
	<atom:link href="http://delphitools.info/tag/screenshots/feed/" rel="self" type="application/rss+xml" />
	<link>http://delphitools.info</link>
	<description>SamplingProfiler, DWS and other Delphi tools</description>
	<lastBuildDate>Thu, 02 Feb 2012 11:33:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SamplingProfiler 1.7.0 still hot from the compiler</title>
		<link>http://delphitools.info/2009/04/15/samplingprofiler-170-still-hot-from-the-compiler/</link>
		<comments>http://delphitools.info/2009/04/15/samplingprofiler-170-still-hot-from-the-compiler/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 17:19:31 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[MAP]]></category>
		<category><![CDATA[Monitor]]></category>
		<category><![CDATA[Profiler]]></category>
		<category><![CDATA[Real-time]]></category>
		<category><![CDATA[Screenshots]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://delphitools.info/?p=301</guid>
		<description><![CDATA[SamplingProfiler v1.7.0 is now available, you can get the zip and release details from its changelog page. As announced last week, the changes are a fix for a bug that could drastically affect the execution speed of the profiled application when relying on MAP files for debug information, if you were hit by this bug, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://delphitools.info/samplingprofiler/">SamplingProfiler</a> v1.7.0 is now available, you can get the zip and release details from its <a href="http://delphitools.info/downloads/samplingprofiler-changelog/">changelog</a> page.</p>
<p>As announced last week, the changes are a fix for a bug that could drastically affect the execution speed of the profiled application when relying on MAP files for debug information, if you were hit by this bug, things should be like night and day with this version (and hopefully I didn&#8217;t break anything else in the process&#8230;).</p>
<p style="text-align: left;">The other main addition is that of the real-time monitor, which with default parameters and when activated locally should be reachable at <a rel="nofollow" href="http://localhost:880/">http://localhost:880/</a> (see the help for other details). The monitor is still at an early stage, and only provides real-time information, as time allows, it may grow to offer more profiling and debug features.<a href="http://delphitools.info/wp-content/uploads/2009/04/monitor-1-7.png"><img class="aligncenter size-medium wp-image-303" style="margin-top: 10px; margin-bottom: 10px;" title="SamplingProfiler RealTime Monitor" src="http://delphitools.info/wp-content/uploads/2009/04/monitor-1-7-300x103.png" alt="SamplingProfiler RealTime Monitor" width="300" height="103" /></a>The current monitor page is a rather basic html page that is fully refreshed periodically, which isn&#8217;t very pretty at the moment&#8230; an XML version of the real-time information is available at <a rel="nofollow" href="http://localhost:880/sampling.xml">http://localhost:880/sampling.xml</a>, if you come up with a pretty AJAX-based version before I do, feel free to contribute it <img src='http://delphitools.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://delphitools.info/2009/04/15/samplingprofiler-170-still-hot-from-the-compiler/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Sampling Profiler</title>
		<link>http://delphitools.info/samplingprofiler/</link>
		<comments>http://delphitools.info/samplingprofiler/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 11:24:01 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Overview]]></category>
		<category><![CDATA[Profiler]]></category>
		<category><![CDATA[Screenshots]]></category>

		<guid isPermaLink="false">http://egrange.blogsrc.com/overview/</guid>
		<description><![CDATA[SamplingProfiler is a sampling profiler for Delphi 5 to Delphi XE. Its purpose is to help locate bottlenecks, even in final, optimized code running at full-speed. Downloads and changelog News, Tips and posts about SamplingProfiler Main options screen Profiling results analysis Though it may be able to profile application compiled by many other compilers, the [...]]]></description>
			<content:encoded><![CDATA[<p>SamplingProfiler is a sampling profiler for Delphi 5 to Delphi XE. Its purpose is to help locate bottlenecks, even in final, optimized code running at full-speed.</p>
<p style="text-align: center;"><strong><a href="http://delphitools.info/downloads/samplingprofiler-changelog/">Downloads and changelog</a></strong><br />
<a href="http://delphitools.info/tag/profiler/">News, Tips and posts about SamplingProfiler</a></p>
<table style="width: 100%;" border="0">
<tbody>
<tr>
<td style="text-align: center;" width="50%">
<p style="text-align: center;"><a href="http://delphitools.info/wp-content/uploads/2009/04/options-1-7.png"><img class="size-thumbnail wp-image-297 aligncenter" title="SamplingProfiler options and startup screen" src="http://delphitools.info/wp-content/uploads/2009/04/options-1-7-129x150.png" alt="Main options screen" width="129" height="150" /></a><br />
Main options screen</p>
</td>
<td style="text-align: center;" width="50%">
<p style="text-align: center;"><a href="http://delphitools.info/wp-content/uploads/2009/02/analysis.png"><img class="size-thumbnail wp-image-9 aligncenter" title="Profiling Results Analysis" src="http://delphitools.info/wp-content/uploads/2009/02/analysis-150x150.png" alt="Profiling results analysis" width="150" height="150" /></a><br />
Profiling results analysis</p>
</td>
</tr>
</tbody>
</table>
<p>Though it may be able to profile application compiled by many other compilers, the focus is (currently) solely on Delphi applications.</p>
<p><strong>What is a  sampling profiler?</strong></p>
<p>There are basically two kinds of profiling tools: instrumenting profilers (source or binary) and  sampling profilers. Instrumenting profilers work by altering an application code  or binary, and adding calls to functions that will count how many time each  procedure was called and how many time was spent inside. This approach allows an  exhaustive analysis of which code called which code, and how many times was  spent in each procedures. However, it will typically incur a significant  execution speed and memory penalty that can only be avoided by spending time and  insight and limiting instrumentation to a subset of an application&#8217;s functions,  making them more suitable when you know where the issue is (see <a href="http://17slon.com/gp/gpprofile/">GpProfile</a> for a free  instrumenting Delphi profiler).</p>
<p>Sampling profilers  on the other hand do not require instrumentation and proceed by a statistical  analysis by periodically looking at which code is currently being executed by  the profiled application. The statistical nature means that not all code may be  seen by the profiler (only code that takes time to execute), profiling  information may also vary statistically between executions, and context information for bottlenecks is typically more limited.</p>
<p>By focusing on what code is actually taking execution time, and not being as intrusive, they can be used to pinpoint actual bottlenecks in production code, a feat instrumenting profilers aren&#8217;t capable of. They also provide bottleneck information down to the code line, and can point to issues that aren&#8217;t in your explicit code (such as call convention overhead, local values initialization/cleanup, etc.).</p>
<p>With little practice, a single profiling run using the production executable is usually enough to gather enough information to identify bottlenecks and focus optimizations where they will truly matter.</p>
<p><strong>Why should I use  a sampling profiler?</strong></p>
<p>Using a sampling  profilers has benefits:</p>
<ul>
<li>it will not affect the execution speed significantly, neither because of its own execution times, nor because it affects the CPU instruction or data cache by its instrumenting code  (ie. you get a measure of actual performance like if there was no profiler running)</li>
<li>it is immune to the heisenbug of instrumenting profiler that inflate disproportionately the execution time of small procedures invoked in tight loops or from many contexts in an application&#8217;s code (instrumenting profilers often attempt to subtract their overhead from their timings, but on modern, super-scalar, pipelined processors with multi-leveled caches, this approach is never correct, even statistically speaking).</li>
<li>it is able to  measure the time spent in other OS components or DLLs (like the video driver,  OpenGL, etc.), not just the time spent in your application</li>
<li>profiling latencies won&#8217;t hide your application&#8217;s latencies (hard disk accesses, network accesses,  video driver waits&#8230;), which can be particularly significant if your  application makes asynchronous accesses.</li>
<li>it can pinpoint bottlenecks at the code-line level (not just procedure level), for the entire  application.</li>
<li>it can be used to profile over long periods of time, like a full batch run of computations or a  complete game level, you can literally have an application being profiled for days</li>
<li>being lightweight, you can profile multiple applications simultaneously (like a client and a server running on the same development machine)</li>
</ul>
<p><strong>RealTime Monitor</strong></p>
<p>With version 1.7+, SamplingProfiler includes a small http web server which can be used for real-time monitoring of the profiled application. The monitor provides code hot-spot information in real-time, in HTML or XML form.<br />
This feature can help diagnostic infrequent usage spikes or near-freezes (like infinite loops). It can also be used for monitoring long-running processes executing on other machines.</p>
]]></content:encoded>
			<wfw:commentRss>http://delphitools.info/samplingprofiler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.delphitools.info/tag/screenshots/feed/ ) in 0.88072 seconds, on Feb 4th, 2012 at 1:48 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 5th, 2012 at 1:48 pm UTC -->
