-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dba_qcfilter performance #67
Comments
To sum up the 2019-07-09 internal e-mail: questions still unanswered:
|
I propose to add the program to this repository (libsim) as a CLI and replace the libsim-based If a Python API is needed, we should collect the requirements. |
faccio una proposta esplorativa: |
Una considerazione: libsim dipende già da dballe e quindi si aggiungerebbero come dipendenze solo python3 e python3-dballe - e volendo si potrebbe disabilitare a tempo di compilazione da Dico questo solo per amore di completezza, non ho forti opinioni in tema. L'unica cosa è che se vogliamo fare un pacchetto a parte si deve scegliere un nome.
Non appena so dove mettere il codice, aggiungo possiamo aprire issue per bug e enhancement. Come funzionalità preesistenti, dovrebbero mancare solo le opzioni da linea di comando - ma questo possiamo vederlo nelle issue. |
Non so se può aiutare, io avevo creato prodsim per scopi un po' diversi, come un contenitore di roba sperimentale che usa libsim, (ma non necessariamente), in vista di una transizione ad una qualcosa di utile e pacchettizzabile (o separatamente o dentro libsim stessa). Se volete usarlo ad un fine diverso, tipo progetto per qualcosa che fa delle operazioni fisiche ben definite ed è già pacchettizzabile (magari dividendo in cartelle, sperimentale da non installare, funzionante da installare), non ho nulla in contrario. |
Non stiamo parlando di futuribile o pacchetti opzionali/sperimentali, stiamo parlando di server operativi che devo potenziare ad hoc e procedure operative a cui dobbiamo trovare workaround perché dba_qcfilter piglia un quantitativo di risorse eccessivo. Se no faremo l'ennesimo pacchetto, ma mi pareva inutile complicazione |
Se è la soluzione più indolore allora mettiamo in |
bho, a me parrebbe più facile fare un pacchetto solo python piuttosto che mischiare pacchetti con stili diversi: |
@edigiacomo anche io preciso che le dipendenze di libsim da dballe sono opzionali e sono dipendenze dalle api f77 ferme da anni; in questo caso avremmo dipendenze non opzionali da API python; inoltre il problema non è tanto aggiungere una dipendenza a libsim ma il fatto che per installare un filtro che spero diventi di uso abbastanza generico si aggiungano tutte le dipendenze di libsim ... |
Per tagliare la testa al toro, ho creato il repository https://github.com/ARPA-SIMC/dba_qcfilter. Aprirò poi issue per rimuovere/rinominare il dba_qcfilter di libsim. |
dba_qcfilter
is a huge bottleneck when importing data in a dbadb.The second command is ~37 times slower and in some scenarios this is too much.
We talked about this problem 2 years ago (mail subject: "[libsim] Performance di dba_qcfilter") and, if I understand correctly @pat1's response, the problem could be the sqlite in-memory database creation for each BUFR read from stdin.
To mitigate the problem, could it be a good idea adding an option to
dbq_qcfilter
to optionally work with a file? In that case, the data could be loaded in a single in-memory db: the memory problem could be solved upstream, splitting the input data in chunks (e.g.arki-xargs
).The fix would be backward-compatible because, without arguments, the command can read the data fron stdin.
Something like:
The text was updated successfully, but these errors were encountered: