[gdal-dev] How to improve the performance of VectorTranslate with VSIMEM in C++
MRRAJESH
rajeshreddy82 at gmail.com
Sun Jul 26 14:53:55 PDT 2020
Developers,
Code is written in C++. It is taking time (say 30 sec to 1 min) for each mvt
file. how to improve the performance.
Objective is to get the <service>/<zoom Level>/<Column>/<Row>.mvt file. Here
each call is a thread.
We are passing the VRT file as input. Output is vsimem. Options are -
{"-dsco", "TILE_EXTENSION=mvt","-dsco", "COMPRESS=NO", "-dsco",
"MINZOOM=zoom level", "-dsco", "MAXZOOM=zoom level"}
Once we have multiple files in vsimem, opening the specific mvt file
(example - "/vsimem/mvt-<GUID>/18/66027/96262.mvt") and returning to client
with below
code -
VSILFILE* fp = VSIFOpenL(vsiMemFilename.c_str(), "rb");
VSIFSeekL(fp, 0, SEEK_END);
size_t nSize = (size_t)VSIFTellL(fp);
VSIFSeekL(fp, 0, SEEK_SET);
void* pRefBuf = CPLMalloc(nSize);
VSIFReadL(pRefBuf, 1, nSize, fp);
VSIFCloseL(fp);
*size = nSize;
return pRefBuf;
Since "VSIFReadL" method is not available in C#, we moved to C++.
Questions:
1. Is above implementation is correct by using GDAL for each thread call?
2. It is taking time (say 30 sec to 1 min) for each thread, how to improve
performance.
3. can we expect "VSIFReadL" in C# libraries in coming releases?
Regards,
Rajesh
--
Sent from: http://osgeo-org.1560.x6.nabble.com/GDAL-Dev-f3742093.html
More information about the gdal-dev
mailing list