Sobes.tech
Middle+

Aký pipeline?

sobes.tech AI

Odpoveď od AI

Pipeline (potrubie) je sekvenca korakov za obradu података или задатака, где излаз једног корака служи као улаз за следећи. У програмирању и системима за обраду података, pipeline-ји помажу у структурирању сложених процеса и обезбеђују ток података.

У Go-у, често се користи образац pipeline за организовање тока обраде помоћу goroutine-ја и канала. На пример, подаци пролазе кроз више фаза обраде паралелно, што повећава перформансе и читљивост кода.

Пример једноставног pipeline-а у Go-у:

func gen(nums ...int) <-chan int {
    out := make(chan int)
    go func() {
        for _, n := range nums {
            out <- n
        }
        close(out)
    }()
    return out
}

func sq(in <-chan int) <-chan int {
    out := make(chan int)
    go func() {
        for n := range in {
            out <- n * n
        }
        close(out)
    }()
    return out
}

func main() {
    c := gen(2, 3, 4)
    out := sq(c)
    for n := range out {
        fmt.Println(n)
    }
}

Овде, подаци пролазе кроз две фазе: генерисање бројева и квадрирање.