Linked by Thom Holwerda on Fri 27th Jun 2008 22:15 UTC
Mac OS X Apple has already announced the successor to Leopard, called Snow Leopard, during the WWDC not too long ago. They explained that Snow Leopard would not focus on user-visible features, but instead would deliver performance improvements and resource footprint reductions. One of the measures Apple has taken is the size reduction of application bundles, which has resulted in dramatic weight loss for a lot of applications. AppleInsider has found out what exactly Apple has been doing to lose that much weight.
Thread beginning with comment 320465
To read all comments associated with this story, please click here.
I wonder
by deathshadow on Sat 28th Jun 2008 00:10 UTC
deathshadow
Member since:
2005-07-12

if similar changes were made to the printer drivers - it's ridiculous to have 2.1 gigs of printer drivers, much less a third of that being nothing but Epson.

The not removing unused elements of the library in the linker would explain a lot about the heft of OSX. Given that the applications on the whole tend to be self contained packaging all elements of a library, even those that are unused would indeed be unneccessary bloat - but an easy thing for a programmer who doesn't even understand what a linker IS to miss.

Edited 2008-06-28 00:13 UTC

one thing
by Hakime on Sat 28th Jun 2008 02:29 in reply to "I wonder"
Hakime Member since:
2005-11-16

Just to be clear about one idea flying around recently.

Applications bundles on OS X DO NOT duplicate any system libraries (more generally called framework), absolutely not. If an application needs to have its custom frameworks then it does put in its bundle, but the system framework are not duplicated in the bundles.

Reply Parent Bookmark Score: 2

RE: I wonder
by Hakime on Sat 28th Jun 2008 02:50 in reply to "I wonder"
Hakime Member since:
2005-11-16

What do yo mean unused elements of the library? Which library?

Frameworks are dynamically linked to the executable, they are not added to the executable. So what's your point?

What do you packaging all elements of a library?

Again frameworks are contained in one location /System/Library/Frameworks
there is no packaging or whatsoever. Again, besides its custom frameworks, an application bundle does not contain any other duplication of the system frameworks.

Reply Parent Bookmark Score: 2

RE[2]: I wonder
by deathshadow on Sat 28th Jun 2008 08:26 in reply to "RE: I wonder"
deathshadow Member since:
2005-07-12

What are NIB files but a library file included at packaging? How is the packaging process any different from a linker when it comes to condensing a bunch of separate files into the same 'file' - it's the same concept. (Closest comparison windows side would be a resource file or set of resource files compiled to a DLL)

Including unused NIB's in the package is the same as including unused DLL's in a .msi or compiling unused libraries into an executable.

That they are packaged into the same distributable 'file' though means it could incur slowdowns, as package files are basically handled as a filesystem and it's more files to wade through trying to get to the ones that are actually being used. The slowdowns from this could be compared to the old interpreted BASIC days where you could speed up some programs and make them practical to exchange at 150 baud just by deleting a few REM statements and trimming unused subroutines - stuff that was/is good during development but has no place in a distribution.

Edited 2008-06-28 08:29 UTC

Reply Parent Bookmark Score: 1