Γεια σας,
Έχω τρία function στην python που το κάθε ένα δεχετε σαν είσοδο μια εικόνα(δηλ το path της) και κάνει ένα απλό image processing και δημιουργεί σαν έξοδο μια νέα εικόνα(δηλ το path της).
στο παρακάτω παράδειγμα το ένα function εξαρτάται από το άλλο δηλ :
το function της alg2 παίρνει σαν είσοδο την εικόνα που δημιουργεί το function της alg και το function της alg3 δεχετε σαν είσοδο την εικόνα που δημιουργεί το function της alg2 το όποιο αυτό εξαρτάται από το function της alg1.
(ελπίζω να μην σας μπέρδεψα βασικά)
λόγο του σχετικά υψηλού χρόνου εκτέλεσης τους (image processing είναι αυτό) θα ήθελα να ρωτήσω αν μπορώ
να τα εκτελέσω παραληλλα μεταξύ τους χρησιμοποιωντας το multiprocessing της python.
διάβασα αρκετά για το multiprocessing το map και το pool αλλα μπερδεύτηκα αρκετά να σας πω την αλήθεια δεδομένου ότι πρώτη φορά ασχολουμε με παραληλο προγραμματισμο.
όποτε συνοψίζοντας έχω τρία αλληλοεξαρτομενα function και θα ήθελα να τα εκτελέσω μαζί αν γίνεται.
Επίσης θα ήθελα να μάθω πως θα εκτελούσα σύγχρονος αυτά τα τρία function αν δεν ήταν αλληλοεξαρτομενα μεταξύ τους δηλ το καθένα να ήταν αυτόνομο.
ευχαριστώ.
def alg1(input_path_image,output_path_image):
start = timeit.default_timer()
###processing###)
stop = timeit.default_timer()
print stop - start
return output_path_image
def alg1(output_path_image,output_path_image1):
start = timeit.default_timer()
###processing###
stop = timeit.default_timer()
print stop - start
return output_path_image1
def alg3(output_path_image1,output_path_image2):
start = timeit.default_timer()
###processing###
stop = timeit.default_timer()
print stop - start
return output_path_image2
if __name__ == '__main__':
alg1(output_path_image,output_path_image)
alg2(output_path_image1,output_path_image1)
alg3(output_path_image2,output_path_image2)