Topic: Info su funzionamento dei processi e in generale sul multiprocessing  (Letto 46 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline f.c.18.90

  • python unicellularis
  • *
  • Post: 4
  • Punti reputazione: 0
    • Mostra profilo
Buongiorno, vorrei semplicemente avere delucidazioni su una cosa che ho potuto verificare di recente. Sto utilizzando un Raspberry Pi 4 con 4GB di RAM. Ora, a prescindere da quale sia l'algoritmo che creo, mi capita che se lo lancio normalmente viene eseguito con un certo intervallo di tempo, se invece creo una classe di processi e inserisco l'algoritmo all'interno di un processo (un unico processo, quindi come se stessi lanciando il programma normalmente, non sto effettuando nessun multiprocessing) il tempo di esecuzione diminuisce. Perché mai capita una cosa del genere? Grazie in anticipo!

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 2.946
  • Punti reputazione: 9
    • Mostra profilo
Re:Info su funzionamento dei processi e in generale sul multiprocessing
« Risposta #1 il: Gennaio 25, 2020, 15:21 »
non si capisce quello che intendi dire. Però, se una soluzione è più veloce dell'altra, non ti resta che usare quella.

Offline f.c.18.90

  • python unicellularis
  • *
  • Post: 4
  • Punti reputazione: 0
    • Mostra profilo
Re:Info su funzionamento dei processi e in generale sul multiprocessing
« Risposta #2 il: Gennaio 27, 2020, 19:20 »
Faccio un esempio, il più banale possibile:

print "Hello, World!"


Invece quello che faccio è:

import multiprocessing
from multiprocessing import Process

class myprocess (Process):
   def __init__(self, nome):
      Process.__init__(self)
      self.nome = nome
   def run(self):
       print "Hello, World!"

process1 = myprocess("prova")
process1.start()
process1.join()


Ora, ad esempio inventando dei tempi a caso, se lancio il codice scritto in alto viene eseguito in 2 secondi, se invece eseguo quello in basso ottengo 1 secondo. Com'è possibile? Perché inserire quel codice all'interno di un processo ne velocizza l'esecuzione? Premetto che il codice di cui parlo è molto più complesso, e ha dentro di sé varie funzioni, cicli for e operazioni, ma non so fino a che punto questo possa c'entrare...

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 2.946
  • Punti reputazione: 9
    • Mostra profilo
Re:Info su funzionamento dei processi e in generale sul multiprocessing
« Risposta #3 il: Gennaio 27, 2020, 20:26 »
dipende da cosa e come misuri. Invece di inventare dei tempi a caso, facci vedere il codice...