On Mon, Apr 13, 2009 at 2:09 AM, Oleg Krupnov <oleg.krup...@gmail.com> wrote:
> I need to pass objects from one task (child) to another (parent) on
> the same machine.
>
> Currently I am considering two alternatives: Pipes vs Distributed
> Objects, and my main concern is performance, because the object is
> really large.
>
> With pipes, I need to serialize (archive) the object into NSData
> before transmitting, and deserialize (unarchive) back on reception.
> This is going to be very time-taking.
>
> My questions are:
>
> 1) Are DO going to be faster? Do DO also perform implicit
> archiving/unarchiving of passed objects to/from NSData?

DO will serialize certain objects, generally Cocoa collection classes
and things like NSData/NSString. Otherwise it will proxy objects
unless you specifically tell it otherwise. (It *can't* serialize your
custom objects without you telling it that it's ok.)

As for whether it's faster, that depends entirely on what you're
doing. If you're passing a lot of data which will be copied then DO
will be slower, because it just adds overhead. If you're passing a
large tree of proxied objects which will only be lightly queried on
the other side, DO will be faster because it's just going to send
lightweight proxies on demand.

> 2) Are there other ways of passing objects between tasks?

Everything will boil down to either serializing them or proxying them.
There's only one built-in proxying mechanism, DO, and the different
serialization/IPC mechanisms are differentiated more in terms of
capabilities than speed.

Mike
_______________________________________________

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