On Feb 7, 2009, at 12:23 PM, Brian W. Barrett wrote:
End result: I guess I'm a little surprised that the difference is
that clear -- does a function call really take 10ns? I'm also
surprised that the layered C version has significantly more jitter
than the non-layered version; I can't really explain that. I'd
welcome anyone else replicating experiment and/or eyeballing my
code to make sure I didn't bork something up.
That is significantly higher than I would have expected for a single
function call. When I did all the component tests a couple years
ago, a function call into a shared library was about 5ns on an Intel
Xeon (pre-Core 2 design) and about 2.5 on an AMD Opteron.
Good; I'm not crazy for thinking that this is a little too obvious --
it smells like I did something wrong. Could someone eyeball these
files and see if I missed anything obvious:
http://www.open-mpi.org/hg/hgwebdir.cgi/jsquyres/fortran/file/tip/ompi/mpi/f77/send_f.c
http://www.open-mpi.org/hg/hgwebdir.cgi/jsquyres/fortran/file/tip/ompi/mpi/f77/recv_f.c
--
Jeff Squyres
Cisco Systems