Newsgroups: comp.parallel.pvm
From: ladanyi@cs.cornell.edu (Laszlo Ladanyi)
Subject: difference between psend/send and precv/recv ???
Organization: Cornell University Computer Science Department
Date: 17 May 1996 14:12:28 -0400
Message-ID: <4nific$le3@dartagnan.cs.cornell.edu>

For psend and send, it is obvious that psend should be more efficient, since 
it has to malloc a buffer only once, not in chunks. But I don't really see,
why psend would be more efficient than send with InPlace, especially, if
I send only one chunk of data. As far as I understand, psend will allocate
a buffer and copy the header/data there together, while send will just allocate
space for the header (and only for one frag if I have just one chunk), which
should be faster, shouldn't it?

As for precv, there I really don't see why is it faster than recv (suppose for
a second that they are interchangable). For both the the daemon will allocate 
a buffer of length message size and will receive the data there. From then 
on the data will be copied directly to the user space via either directly 
from precv or via various upk calls after recv. All precv can save is the
several function call to the upk functions, but if I have just one chunk
that's negligible.

Am I missing something important? Could someone shed some light on this matter?

Also, I wonder if there is a flag somewhere which tells whether the memory
area which was used in an InPlace packing is safe to clear up. I couldn't 
find any info on this.

Thanks for any help,
   Laci
   ladanyi@cs.cornell.edu
-- 
----------------------------------------------------------------------
| Laci Ladanyi           | God made one mistake when he created man: |
| ladanyi@cs.cornell.edu |     He wrote self-modifying code ...      |
----------------------------------------------------------------------

