[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

cross platform performance issue

I have been working on a image display feature for our app and I have been
puzzled by relatively poor performance of the network wide file read.  Now,
this most likely is not an IDL issue but I will throw it out to see if
anyone has solved it anyways.

I need to display an image file from within IDL (v. 5.4 on NT4)  from a
Siemens MRI which uses SunOS 4.  I am trying to do it as fast as possible
(near real time ie. as soon as the file is available on the unix drive).
The file is a Siemens proprietary file but I can display it using
read_binary(template=tpl) where the template simply defines a 2D array at
some offset into the file.  This all works OK.

Basically, I have set up a NFS mounted drive on the NT box using OMNI NFS
Server/Client  from Xlink Technologies.  This drive points to the unix drive
containing the images. This all works as well.

The problem seems to be that read_binary() can take several (3-5) seconds to
read the image file (on the NFS shared drive) even though it is only 138Kb
(a 128x128 image plus header data) !  I mean , orders of magnitude longer
than simply copying the file (using NFS) to a local NT drive and than
reading it, which I am trying to avoid due to large numbers of files needed.
We have 10Mbit connection directly to the MR system - no routers, bridges
etc in the way

Is this an NFS thing or is read_binary  (or OPEN(), READU for that matter)
have any additional overhead when it comes to network wide file reads ?
Anyone have better success with other NFS products for NT ?

Thanks in Advance

Richard Tyc
Project Engineer
St. Boniface Hospital Research Center
351 Tache Ave
Winnipeg, MB
Tel: 204-237-2557
Fax: 204-231-0485
Email: richt@sbrc.umanitoba.ca