euroargodev / euroargodev/argopy

Improve performances for pre-processors

Open
#574 0 comments 0 reactions 0 assignees View on GitHub
good first issue internals performance
Dominant language
Python
Stars
229
Forks
52
Avg merge
1d 17h
Merged PRs (30d)
5

Description

Every time Argopy use the `dm` extension of the `argo` accessor and the `merge` method, which is basically the case for all DataFetchers, there is one specific line of code that is very slow:

```python
idx = indexfs.copy(deep=True) if isinstance(indexfs, ArgoIndexStoreProto) else ArgoIndex()
```

The screenshot below illustrate this:

Image

where we can see that 10% of the computation time is lost in this line, which appears way too much to me.

It would be nice to dig further in here to determine if it's the deep copy or the new ArgoIndex instanciation that is the culprit for this poor performance

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.