Linked by Thom Holwerda on Thu 5th Nov 2009 23:05 UTC
Linux As we all know, Mac OS X has support for what is called 'fat binaries'. These are binaries that can carry code for for instance multiple architectures - in the case of the Mac, PowerPC and x86. Ryan Gordon was working on an implementation of fat binaries for Linux - but due to the conduct of the Linux maintainers, Gordon has halted the effort.
Thread beginning with comment 393131
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: bah
by sbenitezb on Fri 6th Nov 2009 01:16 UTC in reply to "RE: bah"
sbenitezb
Member since:
2005-07-22

that's because you're simple minded and lack seeing the 'bigger' picture.


I don't want tons of dead code living in my filesystem and gigabytes of updates. I don't know how the fat binaries and libraries work, but I assume they complicate the loading process even more and could require more disk accesses.

It is a stupid idea that only makes sense to Apple and third party developers. It may make the life of distributors simpler (or not), but also increase network usage with each update.

In the end, you are not solving a problem, just passing the ball to the end user.

Reply Parent Score: 3

RE[3]: bah
by Alex Forster on Fri 6th Nov 2009 02:49 in reply to "RE[2]: bah"
Alex Forster Member since:
2005-08-12

Christ, cry me a river about "disk accesses." The average Walmart PC comes with a terabyte of storage, and a staggering majority of the world has access to at minimum a four-megabit broadband connection. Go check out the size of your average executable. I'm on a Windows machine, so heading over to my System32 folder, I see the following:

* 9MB - mshtml.dll - The Trident rendering engine, the largest and most complicated part of Internet Explorer.
* 2MB - explorer.exe - Your start menu and file manager.
* 13MB - shell32.dll - All of the Windows UI control implementation
* 5MB - ntoskrnl.exe (!!!) - The Windows kernel, including all process and memory management, is five megabytes.

I can't believe anyone would spend the better part of an hour compiling from source to save 5 megabytes, not to mention that the source of any given application tends to be substantially larger than the binary it produces anyway!

Live and let live, though, I guess. I don't use Linux, so it doesn't affect me either way.

Reply Parent Score: 5

RE[4]: bah
by lemur2 on Fri 6th Nov 2009 03:04 in reply to "RE[3]: bah"
lemur2 Member since:
2007-02-17

* 9MB - mshtml.dll - The Trident rendering engine, the largest and most complicated part of Internet Explorer.
* 2MB - explorer.exe - Your start menu and file manager.
* 13MB - shell32.dll - All of the Windows UI control implementation
* 5MB - ntoskrnl.exe (!!!) - The Windows kernel, including all process and memory management, is five megabytes.


You can't get any of those for PPC or ARM.

If you could, why would it hurt anyone to have to download it from a different URL than the URL for the x86 versions?

If there was Windows available for PPC and ARM, would you be happy to download the PPC and ARM binaries for every item in a Windows update, only to discard them when they arived on your machine?

It is far saner to have separate binaries for each architecture supported.

Edited 2009-11-06 03:09 UTC

Reply Parent Score: 2

Disk usage != disk access
by boofar on Fri 6th Nov 2009 07:33 in reply to "RE[3]: bah"
boofar Member since:
2008-04-23

True, disk usage isn't really an issue for most people anymore. "Disk access" is not the same as disk usage though. When loading a fat binary, the system is probably forced to perform one extra disk access, to load the header which tells it where the correct binary data is located. That's adds an extra few milliseconds per loaded file, which can really kill performance when loading many files. Booting a computer is one of those "loading a bunch of files" scenarios.

http://en.wikipedia.org/wiki/Seek_time

Reply Parent Score: 0

RE[4]: bah
by sbenitezb on Fri 6th Nov 2009 09:27 in reply to "RE[3]: bah"
sbenitezb Member since:
2005-07-22

I'm not fond of wasting any resource just because we think we have plenty. History will tell you that you have to be conservative.

I don't see *any* single reason to bundle useless code to benefict almost no one. Just because some guy came with an idiotic idea and felt innovative we have to agree with him?

Reply Parent Score: 5

RE[4]: bah
by ciplogic on Fri 6th Nov 2009 23:04 in reply to "RE[3]: bah"
ciplogic Member since:
2006-12-22

The argument with all have broadband is just all right if you generalize what west countries have. I live right now in a 128kbps (16kB/s). Is not because there is not broadband in my country (Spain) but because I'm not yet covered by internet networks. Anyway I really think is not sane to download the "all-architectures" binary if I use only one architecture. What's the point of it? Is the idea that I will copy my game/app/whatever from PC to phone and it will work? Probably anyway the libraries will differ so much, and the internal 256M card of the phone will not be able to take all binaries with it. I will more likely wanna see compressed binaries (using a scheme that get some size - like UPX) in kernel. Is the reverse of fat binaries, it will simply make distros to get some hard drive back and me to be happy on this. I will be able to put that Linux in a smaller drive machine, and doesn't sound bad.

Reply Parent Score: 1