Changes between Initial Version and Version 2 of Ticket #2883
- Timestamp:
- Dec 21, 2011, 10:38:11 AM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #2883
- Property Milestone 1.6.4
-
Ticket #2883 – Description
initial v2 1 ==================================Description================================= 1 2 2 I'm using GDAL to access Tile Pyramid. Each Tile is a single file, so when the image is very large, like (100,000 * 100,000), there are many files in the direcotry storing the whole Tile Pyramid. In this case, the source image is 100,000*300,000 ,and the tile size is 512*512, so there are about 160,000 files in the direcotry. 3 3 4 4 When i use GDALOpen() to open one file, it takes about 0.6s; then i copy the file to an empty directory, this time it just takes about 0.02s; 5 5 6 =================================My Analysis=============================== 6 My Analysis 7 7 8 8 I found that: in GDALOpen() function, it first create an GDALOpenInfo object; 9 9 in the GDALOpenInfo constructor, there is one statement like this: 10 10 {{{ 11 11 papszSiblingFiles = VSIReadDir( osDir ); 12 12 }}} 13 13 when the doDir has many files, VSIReadDir() will be very slow. 14 14 Now I just change the statement to: 15 15 {{{ 16 16 papszSiblingFiles = NULL; 17 17 }}} 18 18 Is there any better solution? 19 19