9 puan yazan xguru 2021-02-13 | 1 yorum | WhatsApp'ta paylaş
  • Context switching süresi: Async Task 0.2µs vs Kernel Thread 1.7µs

→ Switching I/O nedeniyle olursa bu zaman farkı ortadan kalkıyor (ikisi de 1.7µs)

→ Thread sürümü yalnızca tek çekirdek kullanacak şekilde ayarlanırsa asenkronun avantajı da kayboluyor (neredeyse benzer hale geliyor)

  • Yeni task oluşturma: asenkron task ~0.3µs vs kernel thread 17µs

  • Bellek kullanımı: asenkron task birkaç yüz bayt vs kernel thread 20KiB (9.5KiB user, 10KiB kernel)

→ Bu, neredeyse hiçbir iş yapmayan task ölçütüne göre; gerçek bir iş yaptığında daha fazlası gerekiyor

  • 250 bin asenkron task kolayca oluşturulabiliyor, ancak 4 çekirdekli/32GiB dizüstü bilgisayarda üst sınır 80 bin thread

1 yorum

 
xguru 2021-02-13

Sadece asenkranın performans/verimlilik açısından çok daha iyi olduğunu söylemekle yetinmeyip, içini biraz anlayarak konuşalım diye yapılmış bir benchmark.

Aslında asenkron geliştirmede de çok fazla bug var ve daha zorlayıcı yönler bulunduğu için dikkat gerekiyor.