[chromium-dev] Re: A suggestion to Drastically improve build times,

2009-07-09 Thread Evan Martin

On Wed, Jul 8, 2009 at 10:50 AM, Evan Martine...@chromium.org wrote:
 On Wed, Jul 8, 2009 at 10:46 AM, nakroyoav.zilberb...@gmail.com wrote:
 the reason i think one from chrome is the best is because these
 changes could affect MAC and UNIX as well

 Regarding incremental linking: I don't believe it exists on Linux, but
 gold is quite fast.  My links take around ~5s, though I have a very
 fast machine.

M-A asked about these numbers and revealed I was lying.
Debug builds take 8 seconds to link, while release is between 1 and 2 seconds.

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: A suggestion to Drastically improve build times,

2009-07-08 Thread Paweł Hajdan Jr .

I wonder if it would be possible to have a conditional flag, maybe in
common.gypi, that you would flip to turn on incremental linking, with
still non-incremental linking being the default.

On Wed, Jul 8, 2009 at 05:00, nakroyoav.zilberb...@gmail.com wrote:

 First off, i am not complaining, just suggesting as the build
 (especially link gets slower and slower)

 I contribed code before to chrome, and plan to do so in the future,
 however
 even changing one line of Code in say browser.vcproj leads to 10+ mins
 of linking (yes TEN)

 what i did was wrote scripts which allow me to re-enable incremental
 linking
 and i was happy with it

 since you lately moved to libs for chrome_dll and the like, the
 process became harder
 but i still manage to enable incremental linking (there is an option
 in VS2008 to use objs instead of static
 libraries which re-enables incremental linking)

 just to give you a taste of why i say this

 without incremental linking i get 10+ mins of build time for changing
 just one line of code
 with inc linking i am down to ~15 seconds for a simple change,, which
 is SUCH a great improvement

 i recall you removed inc linking since some projects (i know of
 ui_tests) needs more than 2GB for linking
 but you could just disable it for this one project

 i hope you will re-consider introducing inc linking on VS
 thanx (btw, there are issues with re-introducing inc linking as lib
 and obj rules are different, but they are kinda small)
 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: A suggestion to Drastically improve build times,

2009-07-08 Thread nakro

Pawel, since i have it working on my machine (or i really could not
code with chrome)
i can tell you it is much more than a flag

just as an example the name of chrome_dll.vcproj produces chrome.dll,
but the incremental files would clash with chrome.vcproj who does the
exe
another example : you seem to have several 'TCMalloc_SystemAlloc'
functions, which the linker can resolve if they are in a lib
but would clash if linked as objects

but none of this is too hard to solve, and i think is worth it

i have a T5200 cpu (translated slow) and a very slow hard disk, but
unless all of you have 8 cores and SSD i think
we would all benefit from it

especially that lately it seems more non google employees are trying
to help with chrome
--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: A suggestion to Drastically improve build times,

2009-07-08 Thread Scott Hess

As a general observation on large development teams, infrastructure
can get less love, because everyone comes to the team to work on the
exciting main product, not the more mundane build infrastructure.  If
you have ideas on how to fix this stuff, I think it would be perfectly
reasonable to put up patches that will improve things.  Not as
exciting as changing something that millions of people will see,
perhaps, but if your request is ever to happen, SOMEONE has to do the
gruntwork to make it happen...

-scott


On Wed, Jul 8, 2009 at 8:14 AM, nakroyoav.zilberb...@gmail.com wrote:

 Pawel, since i have it working on my machine (or i really could not
 code with chrome)
 i can tell you it is much more than a flag

 just as an example the name of chrome_dll.vcproj produces chrome.dll,
 but the incremental files would clash with chrome.vcproj who does the
 exe
 another example : you seem to have several 'TCMalloc_SystemAlloc'
 functions, which the linker can resolve if they are in a lib
 but would clash if linked as objects

 but none of this is too hard to solve, and i think is worth it

 i have a T5200 cpu (translated slow) and a very slow hard disk, but
 unless all of you have 8 cores and SSD i think
 we would all benefit from it

 especially that lately it seems more non google employees are trying
 to help with chrome
 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: A suggestion to Drastically improve build times,

2009-07-08 Thread Marc-Antoine Ruel
On Wed, Jul 8, 2009 at 11:14 AM, nakro yoav.zilberb...@gmail.com wrote:


 Pawel, since i have it working on my machine (or i really could not
 code with chrome)
 i can tell you it is much more than a flag

 just as an example the name of chrome_dll.vcproj produces chrome.dll,
 but the incremental files would clash with chrome.vcproj who does the
 exe


This was fixed in the past by putting chrome.dll in the intermediary
directory and hardlinking it afterward in the ouput directory. I don't know
what happens with the GYP conversion. Before the conversion, only the single
projects that failed to link on 32 bit OS had incremental linking disabled.
I don't know why it was disabled for every projects afterward. Maybe Steven
can shed some light on that.

another example : you seem to have several 'TCMalloc_SystemAlloc'
 functions, which the linker can resolve if they are in a lib
 but would clash if linked as objects

 but none of this is too hard to solve, and i think is worth it


About directly linking object files, it's just nobody taking the time to fix
the remaining issues and enabling the flag. Patches are welcome.

M-A

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: A suggestion to Drastically improve build times,

2009-07-08 Thread Thomas Van Lenten
On Wed, Jul 8, 2009 at 11:03 AM, Paweł Hajdan Jr.
phajdan...@chromium.orgwrote:


 I wonder if it would be possible to have a conditional flag, maybe in
 common.gypi, that you would flip to turn on incremental linking, with
 still non-incremental linking being the default.


Something like this probably makes sense to be a generator flag.  I just
beefed up the support for these in GYP.  A cl for that should be pretty
simple.  The general build layout changes would be within the GYP files and
probably want a flag to enable.

TVL




 On Wed, Jul 8, 2009 at 05:00, nakroyoav.zilberb...@gmail.com wrote:
 
  First off, i am not complaining, just suggesting as the build
  (especially link gets slower and slower)
 
  I contribed code before to chrome, and plan to do so in the future,
  however
  even changing one line of Code in say browser.vcproj leads to 10+ mins
  of linking (yes TEN)
 
  what i did was wrote scripts which allow me to re-enable incremental
  linking
  and i was happy with it
 
  since you lately moved to libs for chrome_dll and the like, the
  process became harder
  but i still manage to enable incremental linking (there is an option
  in VS2008 to use objs instead of static
  libraries which re-enables incremental linking)
 
  just to give you a taste of why i say this
 
  without incremental linking i get 10+ mins of build time for changing
  just one line of code
  with inc linking i am down to ~15 seconds for a simple change,, which
  is SUCH a great improvement
 
  i recall you removed inc linking since some projects (i know of
  ui_tests) needs more than 2GB for linking
  but you could just disable it for this one project
 
  i hope you will re-consider introducing inc linking on VS
  thanx (btw, there are issues with re-introducing inc linking as lib
  and obj rules are different, but they are kinda small)
  
 

 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: A suggestion to Drastically improve build times,

2009-07-08 Thread PhistucK
So... do you think it will make things quicker on Visual Studio 2005 also?(Will
the incremental linking work there, too, or do these changes require some
2008 features?)

☆PhistucK


On Wed, Jul 8, 2009 at 18:43, nakro yoav.zilberb...@gmail.com wrote:


 Ok, i am happy it catches your attention

 sadly, i cannot submit patches for it as i wrote an external tool who
 does it automatically for me
 by patching the sln and vcproj/vsprops (i can pass the source code to
 anyone if wanted, its a C++ file)

 but what i would be glad to do if you want is clobber my build and
 submit here a report on how to enable this incremental build
 which files need changes (i had to modify source code for it, which is
 why it is not a simple flag thing)
 +the nasty flags of VS2008 like UseLibraryDependencyInputs and things
 like it

 again we are talking ~40x and beyond speedup on my machine, and i
 guess on anyones


 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: A suggestion to Drastically improve build times,

2009-07-08 Thread PhistucK
Yeah, I guess so, but they are not going to invest too much time on the
build system, as they have stated in this thread.
☆PhistucK


On Wed, Jul 8, 2009 at 19:05, nakro yoav.zilberb...@gmail.com wrote:


 Phistuck, this is Exactly why this issue is best handled by chrome ppl
 and not outsides like myslef

 if VS2005 does not have the tricks of 2008 with regards to using the
 objects who made the library
 then all that is needed is to not produce libs as much and turn
 browser.vcproj and renderer.vcproj
 to simple folders under chrome_dll

 then again, i only use 3 programs from this solution (ui_test,
 unit_test, and chrome) so maybe putting it
 as folder under chrome_dll would actually hurt other things

 but all in all, VS2005 works pretty good with incremental linking from
 past experience
 but i really trust (and not as fake flattery) that the chrome ppl have
 a much better overview on how to properly solve it
 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: A suggestion to Drastically improve build times,

2009-07-08 Thread Jeremy Orlow
On Wed, Jul 8, 2009 at 8:43 AM, nakro yoav.zilberb...@gmail.com wrote:


 Ok, i am happy it catches your attention

 sadly, i cannot submit patches for it as i wrote an external tool who
 does it automatically for me
 by patching the sln and vcproj/vsprops (i can pass the source code to
 anyone if wanted, its a C++ file)


That's fine.  It might make sense to port it to another language (like
Python) but that's hard to say without being able to see the code.


 but what i would be glad to do if you want is clobber my build and
 submit here a report on how to enable this incremental build
 which files need changes (i had to modify source code for it, which is
 why it is not a simple flag thing)
 +the nasty flags of VS2008 like UseLibraryDependencyInputs and things
 like it

 again we are talking ~40x and beyond speedup on my machine, and i
 guess on anyones


 There might be ways to speed up 2005, but it seems like a win if we can
(cleanly) speed up even 2008.

Why not post the code somewhere?  Or (even better) take a stab at some
patches?  This could help a lot of people...even those with the fast
machines.  :-)

J

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: A suggestion to Drastically improve build times,

2009-07-08 Thread nakro

Jeremy, First off, i will be happy to share the code or exe or
whatever you will wish

the thing is this, i am very interested in chrome (code wise) but i
never took a stab with all your gyp
and scripts... and while i know enough python to read your scripts (i
learned it for it) i have no access to all the machines you
do and all the platforms . to keep it short

i would guess it should take one of you who knows your gyp/gclient(?)
system 2 hours (at MOST ... nothing close to it)
to work this out, and i would be more than happy to have this person
chat with me live so i can share what i learned

marc suggested i could try this on a try server, but i thought only
commiters have access to these

the reason i think one from chrome is the best is because these
changes could affect MAC and UNIX as well

normally i solve my own problems and submit patches (i recall you from
the text only zoom, right?) but this one
requires an inside job i think

my mail if you have a person who wants to chat about this is
yoav.zilberb...@gmail.com


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: A suggestion to Drastically improve build times,

2009-07-08 Thread Evan Martin

On Wed, Jul 8, 2009 at 10:46 AM, nakroyoav.zilberb...@gmail.com wrote:
 the reason i think one from chrome is the best is because these
 changes could affect MAC and UNIX as well

Regarding incremental linking: I don't believe it exists on Linux, but
gold is quite fast.  My links take around ~5s, though I have a very
fast machine.

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---