Re: Best way to pass large objects between tasks?
Re: Best way to pass large objects between tasks?
- Subject: Re: Best way to pass large objects between tasks?
- From: Graham Cox <email@hidden>
- Date: Mon, 13 Apr 2009 16:18:58 +1000
On 13/04/2009, at 4:09 PM, Oleg Krupnov 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.
How large is "really large"?
10MB, 1GB, 500GB?
1) Are DO going to be faster?
Why don't you measure and see?
Basically, if the processes are on the same machine, passing the
object is a memory-to-memory copy (notwithstanding VM), so it's going
to be *extremely* fast. If the object is large the data content will
completely dominate the "wrapping" used to transport it, so I'll bet
any method is as good as any other. If the object is so large that VM
is going to constrain you in any meaningful way, you could always
write it to disk then map that file into the second process. Avoiding
copying the data at all is surely your best bet once you exceed a
certain size threshold, but I'd bet that the threshold is *huge*, so
it comes down to what you mean by "really large".
--Graham
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden