Professional Web Applications Themes

Has anyone seen "distributed builds" in Xcode work properly? - Mac Programming

I have serious doubts about the effectiveness of the "distributed builds" feature in XCode. Everything seems to work fine, but when I have a more detailed look it seems it doesn't work well. My suspicion was first raised when I discovered that the build of a big project, which takes about 6 minutes to build on my 867 MHz G4, actually took LONGER (about 8 minutes) when distributed over two computers. I did a simple test with a project having only two .cpp files. I use two computers: "A" is the client, where I start the build; "B" is the ...

  1. #1

    Default Has anyone seen "distributed builds" in Xcode work properly?

    I have serious doubts about the effectiveness of the "distributed builds"
    feature in XCode. Everything seems to work fine, but when I have a more
    detailed look it seems it doesn't work well.

    My suspicion was first raised when I discovered that the build of a big
    project, which takes about 6 minutes to build on my 867 MHz G4, actually took
    LONGER (about 8 minutes) when distributed over two computers.

    I did a simple test with a project having only two .cpp files. I use two
    computers: "A" is the client, where I start the build; "B" is the server,
    which accepts the distributed compile job. It appears that B logs its
    activities concerning remote compilation in the system log. It reports it
    receives the second source file of the project, plus about 3 MB of additional
    data (all the (precompiled) headers, I suppose), and after compilation it
    returns about 60 KB of data, which appears to be exactly the size of the
    object file. Furthermore I can see gcc come to life on machine B, so there is
    no doubt about it: B has successfully compiled a source file and returned the
    results. However, A, the client, seems to ignore the results completely. It
    starts compiling the same source file all over again and does NOT take
    advantage of the work done by B.

    So that explains why it takes longer on two machines than on one.

    My question is: does anyone have a similar experience? Or has anyone seen
    distributed compilation work as it is supposed to?

    MacMan Guest

  2. #2

    Default Re: Has anyone seen "distributed builds" in Xcode work properly?

    In article <easynews.com>,
    MacMan <aa.com> wrote:
     

    I've seen it work well, and I've seen it work poorly. Your test aside
    (I can't explain that one), there's no guarantee in general that
    distributing a build across multiple systems will speed up the build
    time, particularly if the systems have very different performance
    characteristics. For example, if you have a dual 2 GHz G5 and an 800
    MHz G4, your G5 could probably build your project faster on its own than
    with the G4's help. The overhead of transmitting the files and
    administering the build may well offset any gains you might see from the
    extra compile processes on the G4.

    On the other hand, if you have two 800 MHz G4s (or other multiple equal
    systems), distributed builds should help. Your best bet for a given
    project is to test with that project and see how it does. Also, try
    changing the build host. Using a fast dual processor system as the
    build host is probably not the best idea (for example), since I don't
    think a build host will distribute two build processes to itself...but
    if it's one of the clients, it'll get two jobs at once.

    Hope this helps a little,
    Eric

    --
    Eric Albert edu
    http://rescomp.stanford.edu/~ejalbert/
    Eric Guest

  3. #3

    Default Re: Has anyone seen "distributed builds" in Xcode work properly?

    MacMan <aa.com> wrote in message news:<easynews.com>... 

    Seems to work well for me.

    First case, I have a dual 533 MHz G4 and on that one it treats the
    processors as two separate machines in a build and always builds two
    modules at once. I have not tried disabling one of the processors and
    timing it. But I can also use the iBook (see below) and do three
    modules at the same time and it seems faster. I have not done detailed
    timing on these runs. It does not seem to repeat the builds though, a
    particular module is only compiled once.

    Second case a friend has 466 MHz iBook and I have a 366 MHz iBook.
    Build times on for a big app takes about 1/2 the time when both
    machines are used (4 minutes vs 8 minutes). Now when we do this we
    have them connected through our work network (100 MB Ethernet).

    Now the app I am building is a standard tool C application with about
    5 meg of source. I have noticed that Objective C applications take
    substantially longer for compiles of even very small applications.

    --jim
    Jim Guest

Similar Threads

  1. #39588 [NEW]: unpack("a*", "abc\0") does not work as expected
    By pprasse at actindo dot de in forum PHP Bugs
    Replies: 1
    Last Post: November 22nd, 02:23 PM
  2. Inherited Web Label doesnt properly initialize "Text" property
    By Aaron Abdis in forum ASP.NET Building Controls
    Replies: 2
    Last Post: August 19th, 02:08 AM
  3. FScommand("Exec","myapplication.exe") doesnot work on Trial version MX?
    By yn webforumsuser@macromedia.com in forum Macromedia Flash Actionscript
    Replies: 1
    Last Post: January 13th, 08:45 AM
  4. "Select" & "Order By" OK- ''WHERE'' Does'nt Work !
    By ian justice in forum PHP Development
    Replies: 23
    Last Post: November 20th, 06:10 AM
  5. How to make the "search text" feature work with non "txt" file
    By Sharon F in forum Windows XP/2000/ME
    Replies: 0
    Last Post: June 30th, 07:43 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139