[Qgis-developer] memory layer performance while adding many features?

Denis Rouzaud denis.rouzaud at gmail.com
Wed Jul 29 23:46:52 PDT 2015


Hi Raymond,

Can you show us the code doing this?
Do you commit features one by one ar all at once?

Best wishes,
Denis

On 07/29/2015 09:04 AM, 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?
>
> Hoping anyone can explain!
>
> Regards,
> Raymond
>
>



More information about the Qgis-developer mailing list