[gdal-dev] Large NITF file performance problems

Jason Beverage jasonbeverage at gmail.com
Wed May 14 20:35:41 EDT 2008


HI Martin,
Our application renders the data and then does some processing on it after
it is loaded based on user request.  Our application can typically load and
display very large files in a few seconds and navigate them interactively
very quickly.  After doing some tests, I don't believe there is a problem
with NITF read performance is slow using GDAL because I could render and
load some very big files on my end with no problem.

Thanks for everyone's help, I appreciate it!

Jason

On Wed, May 14, 2008 at 7:08 PM, Martin Chapman <mchapman at texelinc.com>
wrote:

>  Jason,
>
>
>
> Is your program rendering the data to the screen or just processing it
> somehow?  As a bench mark for you, I can render nitf files that are 1.8GB
> and bigger in one to two seconds on my machine using gdal over a samba
> network connection to a linux machine (100MB/sec Ethernet).  The trick is
> resampling the image on the fly using rasterio() to fit the screen size.
> There is a HUGE performance difference when you do this.
>
>
>
> If you are just making copies of the image then I would look at your
> physical disk data subsystem.  If you do not have a write cache enabler then
> it may be your customers disk that is slow and not the software.  I have run
> into that situation before with HP Smart Arrays.  You can validate that this
> is the case by comparing your CPU usage to the average write disk queue
> length.  If the CPU usage is less than your write queue it means your data
> subsystem is not able to keep up with the CPU…basically GDAL is faster than
> your hardware.  Your CPU usage should be somewhere between 70 and 100 % is
> everything is working fine would be my guess.
>
>
>
> Martin
>
>
>
> *From:* gdal-dev-bounces at lists.osgeo.org [mailto:
> gdal-dev-bounces at lists.osgeo.org] *On Behalf Of *Jason Beverage
> *Sent:* Wednesday, May 14, 2008 12:24 PM
> *To:* Even Rouault
> *Cc:* gdal-dev at lists.osgeo.org
> *Subject:* Re: [gdal-dev] Large NITF file performance problems
>
>
>
> Hi Even,
>
> Thanks for your sample file, it really helped.  It loads quickly in our
> application and in OpenEV so I'll have to look down another route to find
> out what's wrong with the customer's data.
>
> However, it does appear that there is a problem somewhere when doing a
> CreateCopy() as Ivan pointed out.  I can translate that file to a GeoTiff in
> about 40seconds, but writing NITF has been going for about 5 minutes now and
> its still on "0" with no progress reported.
>
> Thanks,
>
> Jason
>
> On Tue, May 13, 2008 at 2:45 PM, Even Rouault <
> even.rouault at mines-paris.org> wrote:
>
> Hi,
>
> I don't really understand why they would have issues with large file sizes
> (below the 4 GB of course)
>
> I've tried the following small python script to generate a 1.2 GB NITF file
> filled with '1' as a value :
>
> #!/usr/bin/env python
>
> import gdal
>
> new_ds = gdal.GetDriverByName( 'NITF' ).Create( 'largentf.ntf', 100000,
> 12000,
> 1 )
> new_ds.GetRasterBand(1).Fill(1)
> new_ds = None
>
>
> It runs in less than one minute on my slow machine. I can open the
> resulting
> file with OpenEV and scroll through it quite smoothly. gdalinfo -checksum
> largetntf.ntf also runs in about 3 minutes, which seems reasonnable.
>
> a gdalinfo on the file shows that it is automatically tiled in blocks of
> 256x256 and by looking at the code I can see that 256x256 tiling is
> automatically activated when either the number of lines or columns of the
> file is larger than 9999.
>
> So I don't see any obvious reason why you get poor performance. You could
> probably break with a debugger to see where it idles during gdal_translate
> ?
>
> I email you the bzip2 result of the 1.2 GB file that is only 1KB... so you
> can
> test on the same file as me.
>
> As far as your customer is concerned, maybe there is an issue with
> compression
> (for example a very large mono-block JPEG image ?). A 'gdalinfo' on the
> files
> could maybe give some hints ?
>
> Le Tuesday 13 May 2008 18:21:15 Jason Beverage, vous avez écrit :
>
> > Hi all,
> >
> > I've got a customer who is using large NITF files (~1.5 GB) and is seeing
> > ridiculously slow load times in our application.  I don't have access to
> > his data, so I can't test directly, but it seems like the NITF driver may
> > have some issues with large file sizes (> 1GB).
> >
> > To test on my end, I created a few different GeoTiff files (600 MB, 800
> MB,
> > and 1.2 GB) and tried to convert them to NITF using gdal_translate.
> > Converting the 600 and 800 MB files worked just fine and had very
> > reasonable speed (few minutes).  However, when I tried to use
> > gdal_translate on the 1.2 GB file, the process hung at 0% for forever and
> I
> > had to kill it after waiting for a very long time.  It seems as if there
> is
> > something magical about this 1 GB boundary.
> >
> > Does anyone have any ideas or suggestions as to what could be causing
> this
> > issue?
> >
> > Thanks!
> >
> > Jason
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20080514/1c935083/attachment-0001.html


More information about the gdal-dev mailing list