Re: [Python] Domanda su import.

2024-02-20 Per discussione Massimiliano della Rovere
Premesso che senza indicazioni più precise sul "peso" (RAM? CPU? Tempo?)
della libreria, dell'elaborazione, dei dati grezzi e di quelli che dovranno
essere prodotti è difficile dare una risposta.

Se il tuo applicativo è basato su asyncio, potresti valutare di
instanziare un concurrent.futures.ProcessPoolExecutor quando e dove serve,
sfruttare più CPU per l'elaborazione e non sequestrare la CPU con delle
coroutine che impiegano tanto tempo con elaborazione.

Se parliamo del solito webserver (django, flask, ecc) e ipotizzando che tu
non abbia SSE o websocket che sostanzialmente ti rimandano al caso
precedente, creerei comunque un processo esterno i dei worker dedicati alla
libreria e dal tuo applicativo contatterei il pool per avviare
l'elaborazione, scrivendo poi il risultato in un luogo che sia accessibile
dal server web per renderlo scaricabile dall'utente o in modo che il
completamento del task possa essere rilevato dal programma che esponga il
risultato in un'area apposita all'utente/i interessati.

Se invece deve essere una soluzione tutta in uno, senza processi esterni,
dovresti valutare i seguenti costo (costo può essere la RAM usata, la CPU
usata, il tempo... valuta):
1. costo di import della libreria
2. costo di trasmissione (anche file su disco) dei dati alla libreria
3. costo di elaborazione dei dati
4. costo di trasmissione (anche file su disco) dei dati prodotti dalla
libreria
5. costo di una richiesta gestita dal tuo programma quando non entra in
gioco la libreria
6. la percentuale media di richieste che necessitano della libreria.

chiamiamo 1..4 la somma dei costi da 1 a 4.
Se 6 è basso e 1..4 è considerevolmente maggiore di 5... carica la libreria
solo quando e dove serve.
Se 6 è basso e 1..4 è simile a 5 carica la libreria a monte.
Se 6 è medio alto, carica la libreria a monte,

Il giorno mar 20 feb 2024 alle ore 13:21  ha scritto:

> Ciao.
>
> Una questione di carattere generale.
>
>
>
> Devo usare una libreria abbastanza grossa. Però, non tutto il mio
> programma la usa, ma solo una delle sue funzioni e queesta funzione
> potrebbe essere chiamata una sola volta, più volte o anche non chiamata
> affatto.
>
>
>
> Secondo voi, l’import di questa libreria è comunque meglio metterlo ad
> inizio programma, o piuttosto all’interno della funzione interessata?
>
>
>
> Grazie.
>
>
>
> Gabry.
>
>
>
> Gabriele Battaglia (Gabe / Gabry) - IZ4APU
>
> --... ...--  -.. .  .. --.. - .- .--. ..-  - ..-  . .
>
> Sent from Outlook on Windows, Genus Bononiae's computer. (Libero)
>
>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Domanda su import.

2024-02-20 Per discussione Carlo Miron
Ciao Gabriele

Il giorno mar 20 feb 2024 alle ore 13:21  ha scritto:
>
> Devo usare una libreria abbastanza grossa. Però, non tutto il mio programma 
> la usa, ma solo una delle sue funzioni e queesta funzione potrebbe essere 
> chiamata una sola volta, più volte o anche non chiamata affatto.
> Secondo voi, l’import di questa libreria è comunque meglio metterlo ad inizio 
> programma, o piuttosto all’interno della funzione interessata?

A meno che l'importazione della libreria non impatti percettibilmente
il tempo di caricamento del programma, ti consiglierei di metterlo
all'inizio del codice.
L'import all'interno della funzione in genere è un hack che deve
essere giustificato (e commentato) a buona ragione.

Buona giornata,
㎝

-- 
 THE -WARE LICENSE (Revision ㊷):
 wrote this . As long as you retain this notice you can
do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a  in return. — Carlo
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


[Python] Domanda su import.

2024-02-20 Per discussione iz4apu
Ciao.

Una questione di carattere generale.

 

Devo usare una libreria abbastanza grossa. Però, non tutto il mio programma la 
usa, ma solo una delle sue funzioni e queesta funzione potrebbe essere chiamata 
una sola volta, più volte o anche non chiamata affatto.

 

Secondo voi, l’import di questa libreria è comunque meglio metterlo ad inizio 
programma, o piuttosto all’interno della funzione interessata?

 

Grazie.

 

Gabry.

 

Gabriele Battaglia (Gabe / Gabry) - IZ4APU

--... ...--  -.. .  .. --.. - .- .--. ..-  - ..-  . .

Sent from Outlook on Windows, Genus Bononiae's computer. (Libero)

 

___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python