[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNUstep Solaris versus Apple MacOSX (performance comparison)
From: |
Richard Frith-Macdonald |
Subject: |
Re: GNUstep Solaris versus Apple MacOSX (performance comparison) |
Date: |
Mon, 23 Dec 2002 15:31:58 +0000 |
On Monday, December 23, 2002, at 01:27 pm, Andreas Hoeschler wrote:
Hi all,
we are just in the process of porting our business logic from Cocoa to
GNUstep. This question is probably not only GNUstep related but might
also depend on the used hardware. However, I would like to ask what
experiences others have made with the performance of applications
ported fom Cocoa to GNUstep
We have a "Dual G4 533MHz 512 MByte" running MacOSX on the left side
and a "Netra X1 500MHz 736MByte" running Solaris 8 GNUstep on the
right. Compiling sources on the Solaris machine takes 4 times as long
as on the Mac. The application itself also runs slower on the Solaris
machine. I know the Netra is the cheapest Sparc machine you can get
costing only a fraction of the expenses for a Mac. However, since the
Netra is 64Bit and has more memory I expected both machines to at
least have the same performance. Where does this huge difference come
from?
Now is this only hardware related - if yes, what are the essential
differences between the Mac and the Netra - or is this more software
related (GNUstep code, gcc,...)?
The recent gcc compilers are well know to be very slow, so that could
be why compilation on solaris is so slow.
It's hard to tell really what's down to hardware or software...
As a general rule though, I think you can say that the Apple ObjC
runtime and memory management is faster than the GNU code, while the
GNUstep base library is faster than Foundation, and the gui library is
slower than AppKit. Because the runtime and memory management are so
fundamental, this means that overall the Apple stuff is faster than the
GNU stuff.
That being said ... real program performance can vary HUGELY depending
on what is being done ... for instance in a benchmark, use of the
NSArray indexOfObjectIdenticalTo: method is nearly 400 times faster in
GNUstep than in MacOS-X. Doubtless similar disparities work against
GNUstep too.
What this means is that you need to see how your program performs, find
where the slow points are, and optimise. The advantage of GNUstep
here is that you are able to optimise the GNUstep code (and contribute
back your optimisations) rather than just optimising your application
code. It's certainly possible to build programs that run faster under
GNUstep than under MacOS-X, and with visible source, easier to see
where any problems lie.
FYI I enclose output from benchmark.m (in base/Testing) as run under
MacOS-X and Debian on the same powerbook earlier today. The Debian
version was using a base library compiled for debug ... but that
probably won't have slowed down the GNU benchmark significantly IMO.
MacOSbench
Description: Binary data
GNUbench
Description: Binary data