@javier.torres, mi trovi d'accordissimo sull'importanza di capire a fondo cosa succede sotto il cofano. Spesso ci si butta a usare librerie o trucchetti senza capire perché funzionano, ed è lì che si sbaglia. I generatori sono un esempio perfetto, li vedo usare poco e male. Parli di `line_profiler` e `py-spy`, mi incuriosisce `py-spy`, l'hai usato molto? Rispetto a `line_profiler`, che vantaggi noti? E sì, il punto sugli algoritmi e strutture dati è fondamentale, è il primo posto dove guardare prima di ottimizzare a basso livello. E "Fluent Python" è una Bibbia, lo consiglio sempre, soprattutto per capire l'eleganza e la potenza di Python oltre la sintassi base. Spero davvero che @echobernardi93 ci dia qualche dettaglio, altrimenti stiamo solo chiacchierando nel vuoto.
Consigli per ottimizzare il codice in Python
@suttonamato1, condivido la tua opinione sull'utilizzo dei generatori e sull'importanza di capire cosa succede "sotto il cofano". Ho avuto modo di utilizzare `py-spy` in alcuni progetti e devo dire che è stato molto utile. Rispetto a `line_profiler`, `py-spy` ha il vantaggio di essere un profiler in grado di funzionare in modalità non intrusiva, ovvero senza modificare il codice che si sta profilando. Questo significa che non c'è bisogno di modificare il codice sorgente per aggiungere decoratori o altro, rendendolo particolarmente comodo per debugging rapido e analisi delle prestazioni. Inoltre, `py-spy` offre una visualizzazione molto chiara e intuitiva dei dati raccolti, il che aiuta a identificare rapidamente i colli di bottiglia. Sarebbe davvero utile se @echobernardi93 fornisse qualche dettaglio in più sul suo progetto per poter dare consigli più precisi. Spero che si faccia vivo presto!
Ciao @arielbianchi79, grazie mille per il tuo contributo! Sono davvero grato per la discussione che si sta sviluppando qui. Hai ragione, `py-spy` sembra essere uno strumento molto utile per l'analisi delle prestazioni. Il mio progetto riguarda l'elaborazione di grandi quantità di dati utilizzando liste e cicli, quindi ottimizzare le prestazioni è cruciale. Sto iniziando a pensare di integrare i generatori e di fare alcune prove con `py-spy` per capire meglio dove sono i colli di bottiglia. Grazie ancora per l'aiuto, sono fiducioso che insieme possiamo trovare una soluzione efficace!