Good grief, no. I'm not just talking about accessors. Try re-reading:

> In addition, in many cases where Objective-C would have one or more method
> dispatches in innermost performance-critical regions, with C++/STL you will
> have NO FUNCTION CALL AT ALL, but rather direct pointer-based data access or
> inlined code. In my own testing, I've found that to be the biggest difference,
> because Objective-C method dispatch is in fact pretty efficient method
> dispatch.

Objective-C severely limits the degree of inlining that can be accomplished
when using classes and method calls. C++ allows (promotes, really) a heavy
degree of inlining.

> I'm not sure you appreciate the irony of having "people who don't
> really understand Objective-C" and "but in Objective-C would require
> raw C" in the same sentence.

There is no irony at all. Of course Objective-C is just C plus an efficient
dispatcher & some easy syntax. Of course you can rewrite in raw C. The point
was, in C++, you can get the same performance as the raw C, but without
using raw C, while still using the higher-level objects & method calls
(which in some cases will even be far less verbose than Objective-C.)

> As a consequence of this, your statements that "ObjC is far less
> efficient than C" are rather specious.

I never said any such thing. Please do not set up straw man arguments to
knock me down--I *will* call you on it, *every* single time.

> The only reasonable way I can
> think of that would lead you to this conclusion is that you're not
> comparing apples to apples, i.e. you're using struct->var type
> accesses in C, and getter/setter runtime dispatched methods in ObjC.

You clearly have no idea about the optimization possibilities of C++ class
templates.

In essence, the stricter/static typing of C++ allows many more optimizations
to be applied to object-oriented code (not just plain C), and the more
dynamic typing of Objective-C restricts the possibilities (while enabling
techniques that are particularly nice for UI work).

-- 
Scott Ribe
scott_r...@killerbytes.com
http://www.killerbytes.com/
(303) 722-0567 voice


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to