Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

10.5: List 64-bit enabled GUI applications in 10.5 System 10.5
Leopard added the ability to run 64-bit Cocoa, and to some extent Carbon, applications (it was possible to run non-Cocoa/Carbon 64-bit apps as of 10.4; for example, command line apps). But you might now be curious if any of your Cocoa GUI applications in Leopard actually are compiled to take advantage of 64-bit addressing. To find all Applications that are compiled for 64 bit is pretty easy. In Terminal, type either the Intel or PowerPC command below (the line without the leading #):
# For Intel:
locate -0 app/Contents/MacOS/ | xargs -0 file | grep x86_64

# For PowerPC:

locate -0 app/Contents/MacOS/ | xargs -0 file | grep ppc64
On my system, I had seven 64 bit GUI apps (all apple ones in fact: Xcode, Chess, Java, Quartz Composer,etc). Just to clarify a bit: A 64-bit application only means that that single application can access more than 4GB of memory (which is the 32-bit limit). It has nothing directly to do the with speed of the program, only how much memory it can address.

The Terminal commands above are just running the file command on all executable files. If you wanted to know all architectures for a single app (Xcode, for instance), then you could type:
file /Developer/Applications/Xcode.app/Contents/MacOS/Xcode
This produces the following output:
/Developer/Applications/Xcode.app/Contents/MacOS/Xcode: Mach-O universal binary with 4 architectures
/Developer/Applications/Xcode.app/Contents/MacOS/Xcode (for architecture ppc7400):  Mach-O executable ppc
/Developer/Applications/Xcode.app/Contents/MacOS/Xcode (for architecture ppc64):    Mach-O 64-bit executable ppc64
/Developer/Applications/Xcode.app/Contents/MacOS/Xcode (for architecture i386):     Mach-O executable i386
/Developer/Applications/Xcode.app/Contents/MacOS/Xcode (for architecture x86_64):   Mach-O 64-bit executable x86_64
[robg adds: For this hint to work, you'll need an up-to-date locate database. The routine maintenance scripts should take care of this problem, but if for some reason they haven't, you can create it yourself in Terminal with this command: sudo /usr/libexec/locate.updatedb. This will take a few minutes to run...]
    •    
  • Currently 1.50 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (2 votes cast)
 
[19,523 views]  

10.5: List 64-bit enabled GUI applications in 10.5 | 10 comments | Create New Account
Click here to return to the '10.5: List 64-bit enabled GUI applications in 10.5' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
10.5: List 64-bit enabled GUI applications in 10.5
Authored by: hamarkus on Mar 10, '08 08:46:27AM

So apart from such great applications like Chess.app, only Xcode is 64bit on my system, I thought Matlab at least would also be 64 bit.



[ Reply to This | # ]
10.5: List 64-bit enabled GUI applications in 10.5
Authored by: benjherb on Mar 10, '08 12:43:27PM

Unfortunate that really only Xcode is 64-bit on my system right now. I have 7 GB of memory in my Mac Pro but few apps can really take advantage of that. Final Cut and Adobe CS3 could probably benefit the most from a 64-bit upgrade.

---
-Ben ;)



[ Reply to This | # ]
10.5: List 64-bit enabled GUI applications in 10.5
Authored by: LordSod on Mar 10, '08 02:35:27PM

"It has nothing directly to do the with speed of the program" -> I don't think so, 64 bit do something for the speed of the program, but only with the apps wich are specifically developed for 64 bit. In fact, if you are working directly with 64 bit variables (on a 64 bit CPU) it's faster than working with 32 bit variables, only because the CPU can work with bigger numbers and for example for a database app it's far better for managing and using indexes.



[ Reply to This | # ]
10.5: List 64-bit enabled GUI applications in 10.5
Authored by: mzs on Mar 11, '08 01:07:03PM

On ppc it is hard to tell what is faster. For example loading a 64-bit register may take up to 4 instructions. Small immediate values (up to 25-bit I believe) don't take anymore due to sign extension. Also if your data structures in memory are 64-bit now instead of 32-bit you pay a cache and memory bandwidth penalty.

On intel you actually often win with 64-bit. As long as you do not change the layout of your structures in memory to 64-bit then you do not pay the cache and memory bandwidth penalties, but you do get 16 GPRs (general purpose registers). In 32-bit code you have 8 GPRs (handwavingly since the 286 4 are very general purpose, the other 4 have some specialness to them). I actually saw up to 30% increase in performance recompiling some of my code as x86_64.



[ Reply to This | # ]
10.5: List 64-bit enabled GUI applications in 10.5
Authored by: Michelasso on Mar 11, '08 04:59:19AM

Is at least the kernel coded at 64 bits? Not that it matters too much to most users. The only app I have that makes an heavy use of the CPU is VisualHub.



[ Reply to This | # ]
10.5: List 64-bit enabled GUI applications in 10.5
Authored by: abyone on Mar 11, '08 10:34:47AM

No, the kernel is 32bit



[ Reply to This | # ]
10.5: List 64-bit enabled GUI applications in 10.5
Authored by: mzs on Mar 11, '08 12:55:53PM
Yes 32-bit kernel:

$ file /mach_kernel*
/mach_kernel:        Mach-O universal binary with 2 architectures
/mach_kernel (for architecture i386):	Mach-O executable i386
/mach_kernel (for architecture ppc):	Mach-O executable ppc
/mach_kernel.ctfsys: Mach-O universal binary with 2 architectures
/mach_kernel.ctfsys (for architecture i386):	Mach-O executable i386
/mach_kernel.ctfsys (for architecture ppc):	Mach-O executable ppc
Anyone know what the difference between /mach_kernel.ctfsys and /mach_kernel is?

[ Reply to This | # ]
10.5: List 64-bit enabled GUI applications in 10.5
Authored by: ajmas on Mar 12, '08 02:16:13PM
No, the kernel is 32bit

What computer did you do this check with?

[ Reply to This | # ]

Kernel in Leopard is 32 bit only
Authored by: hamarkus on Mar 12, '08 02:36:55PM
At the last Chaos Computer Club conference in Hamburg, Germany, probably the biggest indie programmers conference in Germany, a talk about the structure of Leopard discussed this issue. It was made clear that the kernel is still 32 bit, but it was concluded that as long the kernel does not need more than 4 GB (2 GB?) of memory itself this does not really matter, and the kernel itself is certainly for from needing this much of memory (except that caching might make use of more memory).
http://chaosradio.ccc.de/24c3_m4v_2303.html

[ Reply to This | # ]
10.5: List 64-bit enabled GUI applications in 10.5
Authored by: asmeurer on Mar 01, '09 09:52:36AM

Note that this only finds GUI 64-bit applications. So, for example, Maple runs a 64-bit process (as confirmed by Activity Monitor), but the GUI program itself is 32-bit, so it doesn't show up in this list. If you want to see if a specific application is 64-bit, check the kind tab in Activity Monitor while the application is running.

Also, if you have installed file with fink, you will need to replace file with /usr/bin/file in that command, as fink's file command does not tell you the architecture.



[ Reply to This | # ]