[Qgis-developer] memory layer performance while adding many features?
Hugo Mercier
hugo.mercier at oslandia.com
Thu Jul 30 00:10:24 PDT 2015
Hi Raymond,
On 29/07/2015 09:04, Raymond Nijssen wrote:
> Dear developers, ;)
>
> A plugin of mine imports data from a gml file into a memory layer. Works
> fine for tiny gml files, but takes forever on huge ones. Sounds
> plausible maybe, but the relation is not linear.
>
> So I did did some tests and found out that reading and parsing the gml
> and creating the features always goes at the same speed of about 400
> features a second (fps). But when adding these to my memory layer, the
> process slows down tremendously.
>
> I output the fps for every 1000 features and it gave me this graph:
>
> http://terglobo.nl/downloads/memory-layer-performance.png
>
> At the end of the importing process I'm processing just 3 features per
> second.
>
> Is this expected behaviour? Is a memory layer not meant for something
> like this? Or is this a bug?
>
> In the source code I found that for every feature I add to a memory
> layer the index is updated. Could that be inefficient?
If I am correct the spatial index is created only if you ask so (by
passing "index=yes"). Do you have the same results without spatial index ?
More information about the Qgis-developer
mailing list