SamplingProfiler is free, but if you find it useful in your work, you can show your support by donating and contribute in a small way to future versions!
25/04/2023 – SamplingProfiler 23.4.25 (6.4 MB)
Added support for HDPI
14/03/2023 – SamplingProfiler 23.3.14 (6.2 MB)
Stability and performance fixes for dynamic code zones declaration
Fixes to source paths detection
06/03/2023 – SamplingProfiler 23.3.6 (6.2 MB)
Adds support for declaring dynamic code zones
Tweaks to per-monitor HDPI support
23/01/2023 – SamplingProfiler 23.1.23 (6.2 MB)
Completely rewrote Delphi path detection so it should work with future Delphi releases, as long as the registry keys and names follow the same naming logic
Includes 64bit & 32bit executables
23/09/2020 – SamplingProfiler 64bits beta (3.2 MB)
12/11/2013 – SamplingProfiler 1.8.1 (966 kB)
Delphi XE4 path added to options.
Display correct file for samples on generic methods.
New Icon, cosmetic tweaks, fixed french text in popup menu.
17/01/2013 – SamplingProfiler 1.8.0 (840 kB)
Support for Delphi XE2 and XE3 paths added.
27/01/2011 – SamplingProfiler 1.7.7 (642 kB)
Fixed gathering of samples in Monte-Carlo multi-threading mode.
Fixed crash when closing a results page with Ctrl+F4.
No longer restores to maximized or minimized state.
17/01/2011 – SamplingProfiler 1.7.6 (642 kB)
Fixed support for Windows 7.
Cosmetic tweaks, and fixes to the filter functionality.
Compiled with Delphi XE.
02/09/2010 – SamplingProfiler 1.7.5 (554 kB)
Support for Delphi XE paths added.
08/09/2009 – SamplingProfiler 1.7.4 (547 kB)
Delphi 2010 paths added to options.
Fixed a bug in silent mode.
22/05/2009 – SamplingProfiler 1.7.3 (545 kB)
Fixed a bug with timing statistics introduced in 1.7.2.
20/05/2009 – SamplingProfiler 1.7.2
Added option to show/hide line numbers in source view.
Extended CPU affinity options to 16 cores.
16/04/2009 – SamplingProfiler 1.7.1 (544 kB)
Fixed crash in the directory browser in Paths Dialog.
15/04/2009 – SamplingProfiler 1.7.0 (555 kB)
Added basic support for real-time profiling monitoring.
Fixed a MAP parser bug that could result in drastic profiling slowdowns.
Improved stack walk logic (performance and accuracy).
Fixed support of processes with sub-processes (incl. debuggers).
Enabled CPU usage values adjustments.
Profiling time delay now takes precedence over commands.
26/03/2009 – SamplingProfiler 1.6.1 (515 kB)
Supports rough profiling when MAP file does not hold detailed information.
Fixed a transient case in which irrelevant samples could be collected.
Fixed a dll reference that caused issues on Win2k.
Minor UI fixes and changes.
20/03/2009 – SamplingProfiler 1.6.0 (515 kB)
Ability to sample only in high CPU usages cases (process or system).
‘Pause’ key is now registered as a hotkey for pausing profiling.
Time limit for sampling now starts counting from the first time sampling is enabled.
Version compiled with D2009, adds Unicode support.
Support multi-selection when opening results.
15/09/2008 – SamplingProfiler 1.5.2 (653 kB)
Added support for BDS-generated MAP files (D2009 at least).
10/07/2008 – 1.5.1
No longer fails on temporary DLLs (just ignores them).
Fixed DLL debug info availability check (issues under Vista & W2k8).
D2007 support (registry keys guesstimated, untested).
Misc. indirect changes.
23/08/2007 – 1.5.0
Initial support for debug info in DLLs.
Support debug info on .dpr files (main unit).
ZJDBGPack now included in distribution ZIP (command-line tool).
07/09/2006 – 1.4.4
Results tabs now have a little button to close them directly.
30/06/2006 – 1.4.3
TWinControl.DefaultHandler assumed as Application.Idle
Version info in the About box.
09/06/2006 – 1.4.2
Support large fonts (DPI<>96) and misc. UI tweaks.
Fixed crash when double-clicking in the results a node with no child.
07/06/2006 – 1.4.1
Added D2006 paths option.
Added “start sampling on command only” option.
Reduced resizing flicker for the “Project” tab and misc. UI glitches.
Fixed CS_DROPSHADOW usage on pre-WinXP systems.
02/06/2006 – 1.4
Added ability to adjust Profiler and Profilee processor affinity.
Fixed WinXP64 UI glitches (OwnerDraw PageControl tabs).
Sample gathering now compatible with WOW64.
Remembers default Delphi version for search paths.
Profiling results can be exported as XML.
11/01/2006 – 1.3.6
Added support for merging results.
Replaced TreeView/Grid control (themed, supports more shortcuts).
Fixed results filtering (in Units, Procedures and Lines modes).
17/11/2005 – 1.3.5
Added Monte-Carlo sample gathering for multi-threading.
Custom (per project) and global extra search paths.
Added keyboard navigation for the result trees and lists.
Support specifying & piping command line parameters.
Fixed inability to walk small stacks from threads.
14/11/2005 – 1.3.1
Fixed bug that prevented use of TD32 info in 1.3
10/11/2005 – 1.3
Support embedded JDBG/ZJDBG information.
Ability to embed JDBG/ZJDBG in executables from Tools menu.
Option to auto-minimize to a tray icon when profiling.
“Silent” profiling command-line option.
Current directory for profiled EXE now set to the directory of that EXE.
Minor profiling overhead reduction.
17/10/2005 – 1.2
View/compare multiple profiling runs (results now tabbed).
Save and reload profiling runs results.
Support environment variables macros in paths.
11/10/2005 – 1.1.1
Tolerate 5 sec delay between MAP/JDBG and Exe timestamps.
Added D2005 paths.
11/04/2005 – 1.1
Added “Pause” feature (via interface and code, see Usage).
Added ability to ignore “TApplication.Idle” and “System.pas” callers.
No longer locks the profiled EXE or MAP file when profiling has completed.
Fixed “Initial Sampling Delay”.
Changes to Callers data collection.
29/03/2005 – 1.0
First “public” release.