Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home for chromium.org
« Groups Home
Speed test of building Chrome under Windows
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 1 - 25 of 31 - Collapse all  -  Translate all to Translated (View all originals)   Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Arthur Hsu  
View profile  
 More options Apr 11 2011, 5:42 pm
From: Arthur Hsu <arthur...@chromium.org>
Date: Mon, 11 Apr 2011 14:42:22 -0700
Local: Mon, Apr 11 2011 5:42 pm
Subject: Speed test of building Chrome under Windows

f you don't compile Chrome under Windows, feel free to ignore this e-mail.

Summary: use a separate disk to host Chrome source and reduce VC concurrent
job count to (number of physical cores - 1) from default (number of logical
cores) reduces compilation time on my machine from 1:23:15 to 49:30 (40.5%
speed up)

Machine configuration:
Dell Precision T3500, Xeon X5...@2.67 GHz, 12GB of RAM, initially 500GB SATA
HD, BitLock disabled
Windows 7 Enterprise
Visual Studio 2008 SP1

Observations:

   - By default, VC sets number of logical cores as max number of parallel
   project builds (Tools->Options->Project and Solutions->Build and Run).  In
   my case, it's 12 (6 physical cores and hyper thread)
   - The "max number of parallel project builds" is actually number of
   VCBuildHelper.exe instances, not the number of concurrent cl.exe.  Similar
   things happened in VC 2010: this number indicates number of MSBuild.exe
   instances, not cl.exe.  See attached picture.
      - Also, each link.exe in the picture is committing high amount of
      memory (~1G each) and thus 12 instance will invite very high page fault
      counts.
      - mspdbsrv.exe is the service that synchronize and generate pdb usage
      during compile time.  It's also obvious from the picture that this is the
      single bottleneck of compilation speed (high I/O bytes, high memory usage
      (the working set), ridiculous page fault counts).

[image: Capture-cl.PNG]

Countermeasures:

   - To handle mspdbsrv.exe issue, we need to separate the swap from source
   so that the I/O and page fault pressure can be separated into two different
   I/O channels (in my case, a different SATA port).  This is solved by adding
   a new disk to the system and make sure it's not used for swap.  (Control
   Panel->System and
   Security->System->Advanced->Performance/Settings->Advanced->Virtual
   memory/Change)
   - Reduce the pressure of Windows Virtual Memory manager by reducing
   concurrent jobs.  In my case, 5 (number of physical cores - 1) is taken from
   rules of thumb.  It may not be optimal but works very well in my case.

Actual results:

Time required to build chrome.sln (DEBUG|Win32) reduced from 1:23:15 to
49:30.

  Capture-cl.PNG
236K Download

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Peter Kasting  
View profile  
 More options Apr 11 2011, 5:47 pm
From: Peter Kasting <pkast...@chromium.org>
Date: Mon, 11 Apr 2011 14:47:09 -0700
Local: Mon, Apr 11 2011 5:47 pm
Subject: Re: [chromium-dev] Speed test of building Chrome under Windows

On Mon, Apr 11, 2011 at 2:42 PM, Arthur Hsu <arthur...@chromium.org> wrote:
> Summary: use a separate disk to host Chrome source and reduce VC concurrent
> job count to (number of physical cores - 1) from default (number of logical
> cores) reduces compilation time on my machine from 1:23:15 to 49:30 (40.5%
> speed up)

Currently
http://dev.chromium.org/developers/how-tos/build-instructions-windows instructs
people to reduce the number of parallel builds based on available RAM and
suggests 8 builds for 12 GB.  I'm currently using 6 for my Z600 with 12 GB.
 Perhaps this number needs more adjusting or perhaps your and my values are
slightly too low.

PK


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Arthur Hsu  
View profile  
 More options Apr 11 2011, 5:56 pm
From: Arthur Hsu <arthur...@chromium.org>
Date: Mon, 11 Apr 2011 14:56:54 -0700
Local: Mon, Apr 11 2011 5:56 pm
Subject: Re: [chromium-dev] Speed test of building Chrome under Windows

8 builds for 12GB might be a bit bold.  Worst case is 8 linkers each takes
~1G of RAM, and thus only 4G to spare to the rest of system.  Unfortunately,
mspdbsrv is not that well behaved and it might take another 2 to 4G, leaving
rest of the system underwater.

The other thing to consider is the number of cl.exe spawned.  In my first
test, I've spotted over 100 cl.exe instances being created when the number
is set to 10.  The picture is not captured because I'm not that fast at
clipping the screenshot and the system was not responsive, either.  Anyway
lots of CPU cycles will be wasted for context switching among that many
cl.exe instances and thus we shall drive the number to a lower range (e.g. 5
or 6).

-Arthur

On Mon, Apr 11, 2011 at 2:47 PM, Peter Kasting <pkast...@chromium.org>wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Violet  
View profile  
 More options Apr 11 2011, 6:01 pm
From: Scott Violet <s...@chromium.org>
Date: Mon, 11 Apr 2011 15:01:30 -0700
Local: Mon, Apr 11 2011 6:01 pm
Subject: Re: [chromium-dev] Speed test of building Chrome under Windows

The killer for me is touch a file (just a .cc) and build chrome. Currently
it takes around 4 minutes! Compare this to 40 seconds on my linux box...
Both machines are the same (z600, two hard drives) but the windows side has
Sophos and Bit9 to contend with.

  -Scott

  Capture-cl.PNG
236K Download

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Arthur Hsu  
View profile  
 More options Apr 11 2011, 6:20 pm
From: Arthur Hsu <arthur...@chromium.org>
Date: Mon, 11 Apr 2011 15:20:24 -0700
Local: Mon, Apr 11 2011 6:20 pm
Subject: Re: [chromium-dev] Speed test of building Chrome under Windows

How is the touch done?  Invoking cygwin /usr/bin/touch?  That will
definitely take a while since it needs to pass cygwin process launch hack,
loads all DLLs, run by Sophos scan, and Bits decryption.  This command shall
do it much faster

cmd /c "echo. 2>ph.txt"

Replace the ph.txt with your file path.

-Arthur

  Capture-cl.PNG
236K Download

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Violet  
View profile  
 More options Apr 11 2011, 6:29 pm
From: Scott Violet <s...@chromium.org>
Date: Mon, 11 Apr 2011 15:29:42 -0700
Local: Mon, Apr 11 2011 6:29 pm
Subject: Re: [chromium-dev] Speed test of building Chrome under Windows

By touch I just meant edit the file then do a build. I wasn't timing the
actual touch part of it, just the compile.

  -Scott

  Capture-cl.PNG
236K Download

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ryan Norton  
View profile  
 More options Apr 12 2011, 11:01 am
From: Ryan Norton <rnorto...@gmail.com>
Date: Tue, 12 Apr 2011 08:01:13 -0700 (PDT)
Local: Tues, Apr 12 2011 11:01 am
Subject: Re: Speed test of building Chrome under Windows
On Apr 11, 2:42 pm, Arthur Hsu <arthur...@chromium.org> wrote:

>    - The "max number of parallel project builds" is actually number of
>    VCBuildHelper.exe instances, not the number of concurrent cl.exe.  Similar
>    things happened in VC 2010: this number indicates number of MSBuild.exe
>    instances, not cl.exe.  See attached picture.

The number of cl/link instances is controlled by the /MP switch and
set to use all your effective processors by default if you don't
specify a number - which is what chromium currently does; see
http://msdn.microsoft.com/en-us/library/bb385193.aspx.  You can
override it by setting 'msvs_multi_core_compile': 0 and manually
setting it yourself through 'msvs_settings' -> 'VCCLCompilerTool' ->
'AdditionalOptions': ['/MP***']; *** would be the max # of cl.exe etc.
processes you want running per project.

For example, your include.gypi file could be this for limiting it to
12 processes per project:
-------------
{
  'variables': {
    'msvs_multi_core_compile': 0,
  },
  'target_defaults': {
    'msvs_settings': {
      'VCCLCompilerTool': {
        'AdditionalOptions': ['/MP12'],
      },
    },
  },

}

---------------

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Carlos Pizano  
View profile  
 More options Apr 12 2011, 10:29 pm
From: Carlos Pizano <c...@chromium.org>
Date: Tue, 12 Apr 2011 19:29:09 -0700 (PDT)
Local: Tues, Apr 12 2011 10:29 pm
Subject: Re: Speed test of building Chrome under Windows
I report 2.5 minutes with VS2010 for a single .cc touch and debug
build.

BTW, VS2010 SP1 builds chrome just fine. I do have the "ultimate"
edition.

On Apr 12, 8:01 am, Ryan Norton <rnorto...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Naoki Takano  
View profile  
 More options Apr 13 2011, 3:22 pm
From: Naoki Takano <takano.na...@gmail.com>
Date: Wed, 13 Apr 2011 12:22:10 -0700
Local: Wed, Apr 13 2011 3:22 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows
Hi,

I mainly use Linux dev environment because build time is faster than Windows.

As you know, link time on Windows is extremely slow!!
So I always disabled pdb generation and no opt ref in Release mode manually.

I don't know why the Release setting still enable pdb generation as
default though.
Once disable them, mspdbsrv.exe consumes less memories and link time is shorten.
Of course, it might help for debugger, but I don't use debugger these days.

Thanks,


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Sanjeev Radhakrishnan  
View profile  
 More options Apr 13 2011, 3:38 pm
From: Sanjeev Radhakrishnan <sanje...@chromium.org>
Date: Wed, 13 Apr 2011 12:38:05 -0700
Local: Wed, Apr 13 2011 3:38 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows

PDB generation is needed for making crash reports have readable stack traces
(and for debugging, of course).

On Wed, Apr 13, 2011 at 12:22 PM, Naoki Takano <takano.na...@gmail.com>wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Steve VanDeBogart  
View profile  
 More options Apr 13 2011, 3:41 pm
From: Steve VanDeBogart <vand...@chromium.org>
Date: Wed, 13 Apr 2011 12:41:55 -0700
Local: Wed, Apr 13 2011 3:41 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows

Should we have a Release-NoSymbol target for faster development builds?

--
Steve

On Wed, Apr 13, 2011 at 12:38 PM, Sanjeev Radhakrishnan <


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Naoki Takano  
View profile  
 More options Apr 13 2011, 4:19 pm
From: Naoki Takano <takano.na...@gmail.com>
Date: Wed, 13 Apr 2011 13:19:30 -0700
Local: Wed, Apr 13 2011 4:19 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows
Of course, I know PDB generation purpose.

But I agree with Steve. Of course, we can change manually setting, but
it's convenient if we have.

Thanks,

On Wed, Apr 13, 2011 at 12:41 PM, Steve VanDeBogart


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Brian Salomon  
View profile  
 More options Apr 13 2011, 4:44 pm
From: Brian Salomon <bsalo...@google.com>
Date: Wed, 13 Apr 2011 16:44:17 -0400
Local: Wed, Apr 13 2011 4:44 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows

I've been using the Multi-DLL build and used a tool to boost my system file
cache to 2GB. If I touch a file in WebKit (GraphicsContext3DChromium.cpp)
and build the Chrome target in Debug from VS 2008 it takes 10 seconds or
less to complete. This is with a hot cache (I've built several times
recently).

Brian

On Wed, Apr 13, 2011 at 4:19 PM, Naoki Takano <takano.na...@gmail.com>wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Darin Fisher  
View profile  
 More options Apr 13 2011, 4:58 pm
From: Darin Fisher <da...@chromium.org>
Date: Wed, 13 Apr 2011 13:58:15 -0700
Local: Wed, Apr 13 2011 4:58 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows

yay, multi-dll build!!!  we need to carve up chrome into more dlls to
increase these benefits :)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Violet  
View profile  
 More options Apr 13 2011, 5:09 pm
From: Scott Violet <s...@chromium.org>
Date: Wed, 13 Apr 2011 14:09:49 -0700
Local: Wed, Apr 13 2011 5:09 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows
SWEETNESS!
Please share with the rest of us how to set this up.

  -Scott


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Brian Salomon  
View profile  
 More options Apr 13 2011, 5:20 pm
From: Brian Salomon <bsalo...@google.com>
Date: Wed, 13 Apr 2011 17:20:23 -0400
Local: Wed, Apr 13 2011 5:20 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows

Sure, this is all I did:

To boost the file cache I used this tool:
http://www.analogx.com/contents/download/System/cb/Freeware.htm
The max allowed seems to be 2GB. My Z600 system has 12GB of RAM.

To enable the Multi-DLL build I put:
{'variables': {'component': 'shared_library'}}
in c:\users\<my username>\.gyp\include.gypi
I had to blow-away my <chrome>\src\build\Debug
and <chrome>\src\build\Release dirs before the first builds after switching
to Multi-DLL.

I also have my chrome tree on a different drive than my OS.

Brian


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Naoki Takano  
View profile   Translate to Translated (View Original)
 More options Apr 13 2011, 6:07 pm
From: Naoki Takano <takano.na...@gmail.com>
Date: Wed, 13 Apr 2011 15:07:53 -0700
Local: Wed, Apr 13 2011 6:07 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows
Cool!!

I'll try it. Although my machine only has 4GB, I wish it will help...


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Vangelis Kokkevis  
View profile  
 More options Apr 19 2011, 4:14 pm
From: Vangelis Kokkevis <vange...@google.com>
Date: Tue, 19 Apr 2011 13:14:44 -0700
Local: Tues, Apr 19 2011 4:14 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows

Just wanted to mention that switching to the multi-dll build in this past
couple of weeks has been a tremendous productivity boost.  Not only the code
builds faster (the webkit library links in under 10 secs) but also now the
VS debugger seems to be able to load and run chrome within seconds.  If
windows is your primary development platform, do yourself a favor and give
it a try!

Many kudos to Brian for bringing it up.

Vangelis
PS I also used the utility that Brian mentions to set the file cache size to
2GB.  I don't know how much that plays into the speed improvement.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mike Reed  
View profile  
 More options Apr 19 2011, 4:19 pm
From: Mike Reed <r...@google.com>
Date: Tue, 19 Apr 2011 16:19:58 -0400
Local: Tues, Apr 19 2011 4:19 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows
What bot will exercise this? i.e. gcl try foo --bot=?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Lei Zhang  
View profile  
 More options Apr 19 2011, 4:21 pm
From: Lei Zhang <thes...@chromium.org>
Date: Tue, 19 Apr 2011 13:21:43 -0700
Local: Tues, Apr 19 2011 4:21 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows
I don't think we have shared configuration try bots for either Windows or Linux.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Vangelis Kokkevis  
View profile  
 More options Apr 19 2011, 4:32 pm
From: Vangelis Kokkevis <vange...@google.com>
Date: Tue, 19 Apr 2011 13:32:51 -0700
Local: Tues, Apr 19 2011 4:32 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows

Isn't it this one:

http://build.chromium.org/p/chromium/builders/Win%20Builder%20%28dbg%...

<http://build.chromium.org/p/chromium/builders/Win%20Builder%20%28dbg%...>
?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Vangelis Kokkevis  
View profile  
 More options Apr 19 2011, 4:33 pm
From: Vangelis Kokkevis <vange...@google.com>
Date: Tue, 19 Apr 2011 13:33:48 -0700
Local: Tues, Apr 19 2011 4:33 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows

Never mind, I just saw you were talking about try bots....

On Tue, Apr 19, 2011 at 1:32 PM, Vangelis Kokkevis <vange...@google.com>wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Violet  
View profile  
 More options Apr 19 2011, 5:00 pm
From: Scott Violet <s...@chromium.org>
Date: Tue, 19 Apr 2011 14:00:31 -0700
Local: Tues, Apr 19 2011 5:00 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows
Agreed, but when the multi-dll build was broke for the better part of
a day last week I lost faith. Can we treat the multi-dll build like
any other compile bots?

  -Scott


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
John Abd-El-Malek  
View profile  
 More options Apr 19 2011, 5:03 pm
From: John Abd-El-Malek <j...@chromium.org>
Date: Tue, 19 Apr 2011 14:03:37 -0700
Local: Tues, Apr 19 2011 5:03 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows

Does anyone know if there's a way to enable it per checkout?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mike Reed  
View profile  
 More options Apr 19 2011, 5:16 pm
From: Mike Reed <r...@google.com>
Date: Tue, 19 Apr 2011 17:16:27 -0400
Local: Tues, Apr 19 2011 5:16 pm
Subject: Re: [chromium-dev] Re: Speed test of building Chrome under Windows
+1 for adding multi-dlls to the try suite


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 1 - 25 of 31   Newer >
« Back to Discussions « Newer topic     Older topic »