آزمایشی برای بهبود کارایی ابزار گربه

Ariadne Conill، خالق پخش کننده موسیقی Audacious، آغازگر پروتکل IRCv3، و رهبر تیم امنیتی Alpine Linux، در مورد چگونگی بهینه سازی ابزار cat، که یک یا چند فایل را به جریان خروجی استاندارد خروجی می دهد، تحقیق کرد. برای بهبود عملکرد cat در لینوکس، دو بهینه سازی پیشنهاد شده است، بر اساس استفاده از sendfile و فراخوانی سیستم splice برای کپی مستقیم داده ها بین توصیفگرهای فایل در سطح هسته بدون تغییر زمینه به فضای کاربر.

پیاده‌سازی پایه، با استفاده از فراخوان‌های خواندن و نوشتن سنتی که منجر به تغییر متن می‌شود، هنگام کپی کردن یک فایل 4 گیگابایتی از tmpfs، عملکرد 3.6 گیگابایت بر ثانیه را نشان داد. گزینه مبتنی بر sendfile عملکرد را به 6.4 گیگابایت در ثانیه افزایش داد و گزینه مبتنی بر splice عملکرد را به 11.6 گیگابایت در ثانیه افزایش داد. معلوم شد که بیش از 3 برابر سریعتر از نسخه اصلی است.

منبع: opennet.ru

اضافه کردن نظر