MapFileStats public release

mapfilestatsMapFileStats is a simple free utility to obtain executable binary size statistics derived from a “.map” file.

Use it to know which units contribute the most to an executable’s size, which DFMs are the largest, which units you have dependencies on but barely use in your executable, or merely to know exactly what gets into your executable.

You can integrate it into the Delphi IDE via the Tools menu, see the MapFileStats page for more details or to the download page and see for yourself!

Saving results & merging

SamplingProfiler run results can be saved to .spr files (Sampling Profiler Results) and later reused for comparison purposes, or for merging, one of the less obvious features of the profiler.
You can merge results by right-clicking on a results tab and selecting… “Merge results”, oddly enough. After this, the samples will be aggregated across the runs you selected, hopefully providing more statistical accuracy.

(more…)

Host downtime and relocation

Previous host experienced downtime issues, so DelphiTools.info has been relocated on a new host. Not everything is back up in order just yet…

Update: download, screenshots & links back online, but comments seem to be lost forever…
Update 2: did some tweaking with the help of YSlow, site should be loading faster now.
Update 3: was able to access the old database, restored the lost comment.

Peer support forum

edit: forums have since been deprecated, use StackOverflow for questions.

I’ve opened a forum for SamplingProfiler, destined for peer support and bug reports:

https://delphitools.info/forums/

I don’t have any previous experience with freeforums.org as a host, but I don’t expect the traffic to be huge, so it’ll probably be good enough.
Forums are now hosted locally.
Another channel through which you can reach me would be via posting in the CodeGear newsgroups.

Control sampling from your code

One issue when trying to profile a “live” application is that you may be getting a lot of noise, resulting from a particular library or section of code being executed from multiple contexts.

You may also be after profiling only one particular case, and want some reproducibility between runs… in short: you want a finer grained control on when or for what the profiling will take place.

(more…)