آریادنه کونیل، خالق پخشکننده موسیقی Audacious، آغازگر پروتکل IRCv3 و رهبر تیم امنیتی آلپاین Linux، مطالعهای انجام داد تا مشخص کند که ابزار cat، که یک یا چند فایل را به جریان خروجی استاندارد خروجی میدهد، چقدر میتواند بهینه شود. برای بهبود عملکرد cat، Linux دو گزینه بهینهسازی بر اساس استفاده از فراخوانیهای سیستم sendfile و splice برای کپی مستقیم دادهها بین توصیفگرهای فایل در سطح هسته بدون تغییر زمینه به فضای کاربر پیشنهاد شده است.
پیادهسازی پایه، با استفاده از فراخوانهای خواندن و نوشتن سنتی که منجر به تغییر متن میشود، هنگام کپی کردن یک فایل 4 گیگابایتی از tmpfs، عملکرد 3.6 گیگابایت بر ثانیه را نشان داد. گزینه مبتنی بر sendfile عملکرد را به 6.4 گیگابایت در ثانیه افزایش داد و گزینه مبتنی بر splice عملکرد را به 11.6 گیگابایت در ثانیه افزایش داد. معلوم شد که بیش از 3 برابر سریعتر از نسخه اصلی است.
منبع: opennet.ru
