Re: Xcode 2.3 initial impressions
Re: Xcode 2.3 initial impressions
- Subject: Re: Xcode 2.3 initial impressions
- From: "Andy O'Meara" <email@hidden>
- Date: Wed, 24 May 2006 10:53:44 -0400
- Thread-topic: Xcode 2.3 initial impressions
Great post, Allen! Good to hear that linking seems to have taken a step in
the right direction! Like you, I was anxiously flipping through all the
release notes yesterday looking for any indication there had been linker or
stripping improvements. When I didn't see any, I said to my colleague,
"looks like we're waiting for Xcode 2.4". Anyway, I'll post some of my own
data if we observe anything interesting in the days to come...
Andy
P.S. Thanks for getting 2.3 out, xcode team! I thought for sure that we'd
have to wait until WWDC in August for it! How's symbol highlighting and an
improved build setting GUI coming? That's what we must be getting in
August! :^) Ok, sorry -- I just couldn't resist!
On 5/24/06 10:32 AM, "Allen Cronce" <email@hidden> wrote:
> Hi all,
>
> I've got nothing but good things to say about Xcode 2.3. Here's some
> initial observations:
>
> * Debug build time:
>
> With previous versions of Xcode, our debug build turn around time was
> abysmal. We've got some static libraries that were insanely bloated by
> stabs debug symbols and precompiled header use. There was also a bug
> with dependencies and CreateUniversalBinary for static libraries where
> lipo would run all the time. In one example, these problems combined in
> the re-creation of a 460 meg static library every time we built any
> project dependent on the static library. Build times for minor changes
> could in the tens of minutes, and the strain on system resources would
> cause our machines to swap their brains out, rendering them unusable.
>
> After moving to 2.3 and switching our projects to Dwarf, debug build
> time is dramatically reduced. It's not as fast as CW, but Xcode is
> closing the gap.
>
> And the size of the debug binaries are also much, much smaller. For
> example, our 460 meg debug static library dropped to 19 meg. And because
> overall sizes are reduced, the strain on the OS is a lot less. No more
> frantic VM swapping during builds. I can actually use other applications
> while building now!
>
> Initial testing of debugging our projects also looks good. So far there
> are no downsides to switching to Dwarf that we've found.
>
> * Release binary size:
>
> One of my big pet peeves has been that the linker/dead code stripping
> doesn't work very well in Xcode 2.2.1 with our code base. I've seen
> clear evidence that unused objects and methods were getting linked into
> our binaries. In a recent example, an Internet plug-in that was 88k when
> built by CW was a 1.6 meg universal when built with Xcode. Judicious use
> of conditionals and a lot of elbow grease got this down to 600k, which
> is still 3.4 times larger when you adjust for a single binary.
>
> Much to my surprise, Xcode 2.3 generates much smaller release binary
> sizes with no code or project changes (other than the move to Dwarf). So
> in the above example our 600k universal built under Xcode 2.2.1 is only
> 240k when built under 2.3. That's still 32k bigger than CW when adjusted
> for a single binary. But at least it isn't over 3 times bigger. That's
> completely acceptable to me.
>
> After doing a complete build of all of our linked deliverables, we saved
> megabytes of binary size across the board. Since our products are used
> by developers in their binaries, it means that their products will also
> be much smaller. This is a huge win for our customers and ourselves.
>
> I couldn't find anything in the read me about binary size reduction. I
> would have expected Apple to say "we fixed dead code stripping" or
> something. All that I found regarding the linker had to do with
> dependencies and link paths. I haven't analyzed the resulting binaries
> to see what's different yet.
>
> Maybe someone from Apple can comment on what changed regarding binary
> size? Apologies in advance if I missed something in the read me.
>
> ----
>
> So overall, I'm very happy with this release. Thank you Apple!
>
> My only regret was that I couldn't use Xcode 2.3 earlier. Our company
> was in the middle of a major release so we couldn't switch horses during
> the developer preview. Only one of our engineers who's working on future
> stuff switched so that we could provide feedback. It made the rest of us
> jealous ;-)
>
> Best,
> --
> Allen Cronce
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Xcode-users mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden