Go Routine vs Synchronous

Kodingan di bawah ini untuk menunjukkan siapa yang lebih cepat antara synchronous dan go routine. Synchronous diwakili dengan fmt.Println() tanpa go func().

Intinya yaitu go routine tidak selalu lebih cepat dari pada kode program synchronous. Go routine digunakan untuk membuat aplikasi lebih cepat, bukan membuat kodingan lebih cepat (Julizar Wira, 2023).

Implementasi Time Sleep

package main

import (
	"fmt"
	"time"
)

func main() {
    fmt.Println("start")
    duration := time.Now()

    go func() {
        fmt.Println("test 1", time.Since(duration))
        go func() {
            fmt.Println("test 1.a", time.Since(duration))
        }()
            
        go func() {
            fmt.Println("test 1.b", time.Since(duration))
        }()
    
        go func() {
            fmt.Println("test 1.c", time.Since(duration))
        }()
        
        fmt.Println("test 2", time.Since(duration))
	}()
    
    fmt.Println("end", time.Since(duration))
    time.Sleep(2*time.Second)
    fmt.Println("end", time.Since(duration))
}

Implementasi Sync Wait Group

Last updated