Linux boruları, çekirdek içinde 4KiB sayfalardan oluşan halka tamponlarda veri tutar.
read/write çağrıları her sayfayı kullanıcı alanından çekirdeğe ve tekrar kullanıcı alanına kopyalayarak kilit ve sayfa tahsisi yükü oluşturur; bu da hızı ~3.7GiB/s’e düşürür.
vmsplice/splice sistem çağrıları ile çekirdek kopyalarını atlayıp sıfır kopya aktarım yaparak hızı ~32GiB/s’e yükselttik.
get_user_pages_fast fonksiyonu sayfa tablosu gezinimi ve referans sayımı nedeniyle maliyetlidir; huge page (2MiB) kullanımı bu maliyeti düşürüp ~51GiB/s performans sağladı.
Non-blocking mod ve busy-loop kullanılarak senkronizasyon bekleme süresi ortadan kaldırıldı ve ~62.5GiB/s’e ulaşıldı.
Get notified when new stories are published for "🇹🇷 Hacker News Türkçe"