Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

How to Check How Many Writes Are Done While You Build

0.00/5 (No votes)
10 May 2011 1  
How you can measure how many read and writes (in bytes) your build takes.

In the following post I’ll show you how you can measure how many read and writes (in bytes) your build takes. This may prove useful since the amount of writes can have a tremendous effect on the build total time. More on how to shorten your build time in a future post.

Step 1: Download Process Monitor

The key for measuring the build read and writes is to download the great tool by Sysinternals, Process Monitor.

Process Monitor is a tool which monitors all the processes in your system for several activities, like: file-access, Registry, etc. It has rich support for filtering and summarizing the information.

image

Step 2: Setup a filter on your build process

Select the “Filter” menu and then the “Filter…” menu item. Now add a new filter with “Process Name” as “devenv.exe” or “msbuild.exe”, depending on how you build your project.

image

Also disable all activities but the “file system” activity, since we want to focus on these alone.

image

Step 3: Run your build process

Clear the captured data from the process monitor to get a clean screen.

image

Now invoke your build process with your favorite tool: Visual Studio or msbuild.

Step 4: Get the results

Select the “Tools” menu and then the “File Summary…” menu item.

image

Note: some file names were blacked to protect the client’s properties.

Step 5: Check by folder

Present the file summary by folders to get a better understanding on which folders you get most of the writes.

image

This is it. Here you can already see exactly how many read and writes you are doing and also how much time was invested in those writes (check the File Time column).

In a future post, I’ll cover how you can decrease build time using this information.

That’s it for now,
Arik Poznanski.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here