Sobes.tech
Junior — Middle

Ποια είναι η διαφορά στην ταχύτητα εκτέλεσης μεταξύ των σειριακών και παράλληλων προσεγγίσεων;

sobes.tech AI

Απάντηση από AI

Η διαδοχική προσέγγιση εκτελεί τις εργασίες μία μετά την άλλη, που σημαίνει ότι ο συνολικός χρόνος ισούται με το άθροισμα όλων των μεμονωμένων λειτουργιών. Η παράλληλη προσέγγιση επιτρέπει την εκτέλεση πολλαπλών εργασιών ταυτόχρονα, μειώνοντας σημαντικά τον συνολικό χρόνο εκτέλεσης, ειδικά αν οι εργασίες δεν εξαρτώνται η μία από την άλλη.

Για παράδειγμα, αν έχετε 4 εργασίες των 1 δευτερολέπτου η καθεμία:

  • Διαδοχικά: 4 εργασίες × 1 δευτερόλεπτο = 4 δευτερόλεπτα
  • Παράλληλα (σε 4 πυρήνες): περίπου 1 δευτερόλεπτο

Στο iOS, για τον παραλληλισμό, συχνά χρησιμοποιείται το GCD (Grand Central Dispatch):

let queue = DispatchQueue.global(qos: .userInitiated)
for i in 1...4 {
    queue.async {
        print("Η εργασία \(i) εκτελείται")
        // προσομοίωση εργασίας
        Thread.sleep(forTimeInterval: 1)
    }
}

Έτσι, η παράλληλη προσέγγιση αυξάνει την απόδοση και την ανταπόκριση των εφαρμογών, ειδικά κατά την εκτέλεση ανεξάρτητων εργασιών.