discuss-gnustep
[Top][All Lists]
Advanced

[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.

Attachment: MacOSbench
Description: Binary data

Attachment: GNUbench
Description: Binary data



reply via email to

[Prev in Thread] Current Thread [Next in Thread]