Non Incremental build in CSharp + single threaded compiler

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Brett.Shearer.AUS@gmail.com

    Non Incremental build in CSharp + single threaded compiler

    I work on a reasonably large project (if yours is bigger, please tell
    me just how big) and am wondering how other people are partitioning
    their assemblies/dealing with slow build times?

    Our masterfiles assembly (which contains essentially just reference
    file business objects) is currently 6Mb in size, and changing one line
    of code causes a complete recompile.

    I noticed older versions of csc.exe supported the /incremental build
    option.
    Why would this have been removed? It seems like the perfect solution
    to really slow builds.

    Is there also any reason why the compiler is not multithreaded? I have
    a quad core machine that is currently using a whopping 25% cpu
    utilisation.... .........

    I watched a video the other day espousing Vista's new features, and a
    Microsoft engineer said that Intel would be releasing a 60 core
    machine in the next 5 years.

    Does this mean I will get a 1.5% cpu utilisation when compiling in 5
    years time? Or will Orcas come to the rescue?

  • =?ISO-8859-1?Q?Arne_Vajh=F8j?=

    #2
    Re: Non Incremental build in CSharp + single threaded compiler

    Brett.Shearer.A US@gmail.com wrote:
    I work on a reasonably large project (if yours is bigger, please tell
    me just how big) and am wondering how other people are partitioning
    their assemblies/dealing with slow build times?
    >
    Our masterfiles assembly (which contains essentially just reference
    file business objects) is currently 6Mb in size, and changing one line
    of code causes a complete recompile.
    Have you considered splitting it up ?
    Is there also any reason why the compiler is not multithreaded? I have
    a quad core machine that is currently using a whopping 25% cpu
    utilisation.... .........
    How is your disk ?

    (compilers are often IO intensive)

    Arne

    Comment

    • Nicholas Paldino [.NET/C# MVP]

      #3
      Re: Non Incremental build in CSharp + single threaded compiler

      Brett,

      I think that you bring up a greater question that software developers
      are going to face in the future. Considering that processing power is not
      going to increase in the form of faster processors, but rather, more
      processors, programs will have to take this into consideration in order to
      gain performance benefits.

      As for why the incremental swich was taken out, I really can't say.

      I also can't say if the C# compiler will be multi-threaded in the
      future. However, if an MS engineer noted that Intel will be building chips
      with 60 cores in five years, I would say that MS is aware of the point that
      I brought up above, and that they will be coding in the future with that in
      mind.

      For the present, you might want to consider building sections of your
      project into modules (using the /target:module switch) and then combining
      them into one assembly using the assembly linker (al.exe).

      Hope this helps.


      --
      - Nicholas Paldino [.NET/C# MVP]
      - mvp@spam.guard. caspershouse.co m

      <Brett.Shearer. AUS@gmail.comwr ote in message
      news:1174001343 .517448.166720@ n59g2000hsh.goo glegroups.com.. .
      >I work on a reasonably large project (if yours is bigger, please tell
      me just how big) and am wondering how other people are partitioning
      their assemblies/dealing with slow build times?
      >
      Our masterfiles assembly (which contains essentially just reference
      file business objects) is currently 6Mb in size, and changing one line
      of code causes a complete recompile.
      >
      I noticed older versions of csc.exe supported the /incremental build
      option.
      Why would this have been removed? It seems like the perfect solution
      to really slow builds.
      >
      Is there also any reason why the compiler is not multithreaded? I have
      a quad core machine that is currently using a whopping 25% cpu
      utilisation.... .........
      >
      I watched a video the other day espousing Vista's new features, and a
      Microsoft engineer said that Intel would be releasing a 60 core
      machine in the next 5 years.
      >
      Does this mean I will get a 1.5% cpu utilisation when compiling in 5
      years time? Or will Orcas come to the rescue?
      >

      Comment

      Working...