This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hi Russ,
> Although I included your v2i.c patch in 3.6.2, we haven't determined
> whether to include your other patches in that release. However in the
> meantime, I've made them accessible to other users from here:
understandable enough .. some of them are rather large ;-)
(especially the fileinf one .. it occurs to me that I didn't
really explain that one sufficiently .. to preempt a couple of likely
questions:
* why SXP?
It originally was for "SX Profiling", until someone wanted
to use it on a HP machine, so the patch became more portable.
* why is putget.m4 so wildly different?
I "unwound" the original putget.m4 a bit while working out
where and how to add profiling hooks to the interface
routines (the VARM_upper etc were particularly tricky).
To rewind it I pulled out some common code into macros,
mostly with the criteria of "doesn't overlap awkwardly
with the profiling hooks", so it came out a bit differently
to how it started. I also moved the v2 routines so that my
diff tools would better highlight the commonalities in the
v3 ones. The outcome should be the same C routines (but not
all in the same order), with profiling hooks added.
* What does the profiling do to performance?
As far as I've seen, very little. When the environment
variable is not set the overhead is only one "if" test per
hook, and even when NC_DETAIL is used the overhead appears
to be negligible. You do get rather a lot of stdout though.
* another notable change is in nc.c and posixio.c, a lot of
the early-return statements have been changed into "goto end"
statements, so that the profiling for the routine can be
gracefully stopped before returning, even when an error is
discovered
If you have any other "why did you do this/what is this
code meant to do?" questions please don't hesitate to ask ..
(mostly where I've done something surprising or upsetting it
should be commented with the tag "sjl")
cheers,
Stephen
(ps: one more request: where the patches are published on the
web site, could you please mangle my email address (eg
leak@sx => leak (at) sx) to slow down the spam-bots a little ;-)
thanks!
--
+-----------------------------------------------------------------+
| Stephen Leak email: address@hidden |
| Applications Analyst tel: +61 (3) 9669 8121 |
| High Performance Computing Systems fax: +61 (3) 9669 8124 |
| NEC Australia Pty. Ltd. |
| "Quidquid latine dictum sit, altum viditur" -anon |
+-----------------------------------------------------------------+
Attachment:
pgpdjboD4YWJt.pgp
Description: PGP signature