انتشار نسخه ۱.۴.۰ ترمینال Ghostty با بهبودهای چشمگیر عملکرد و مصرف حافظه — Ghostty 1.4.0
خلاصه
نسخه جدید ترمینال مدرن Ghostty با تمرکز بر بهینهسازی شدید مصرف حافظه، افزایش سرعت پردازش I/O و پشتیبانی کامل از پروتکل گرافیکی Kitty عرضه شد. این نسخه همچنین قابلیتهای امنیتی مهمی را معرفی کرده و عملکرد رندرینگ را در لینوکس و مکاواس ارتقا داده است.
انتشار نسخه ۱.۴.۰ از ترمینال محبوب و مدرن Ghostty پس از ۷ ماه تلاش مستمر و مشارکت ۱۷۲ توسعهدهنده از راه رسید. این نسخه یکی از بزرگترین بروزرسانیهای پروژه تا به امروز محسوب میشود که تغییرات ساختاری عمیقی در بخش عملکرد، مدیریت حافظه و قابلیتهای گرافیکی به همراه دارد.
بهبودهای چشمگیر عملکرد و I/O
یکی از مهمترین دستاوردهای این نسخه، رفع یک تنگنای ساختاری در سیستمعامل مکاواس است. هسته مکاواس بهطور پیشفرض هر بار خواندن از pty را به حدود ۱ کیلوبایت محدود میکند. تیم Ghostty با جداسازی ترد خواندن I/O از ترد تجزیهوتحلیل (Parsing)، توانست پهنای باند I/O را بین ۲۵ تا ۵۵ درصد افزایش دهد.
علاوه بر این، پردازش VT نیز بسیار سریعتر شده است:
- پردازش متنهای ساده ASCII تا ۵.۷ برابر سریعتر شده است.
- خواندن فایلهای متنی حجیم (مانند دستور
catروی یک فایل ۱۵۰ مگابایتی) از ۱.۵ ثانیه به حدود ۵۶۶ میلیثانیه کاهش یافته است. - سرعت تغییر ابعاد ترمینال (Resize) با خطوط تاریخچه بالا تا ۶ برابر بهبود یافته است.
کاهش چشمگیر مصرف حافظه و فشردهسازی تاریخچه
مدیریت حافظه در نسخه ۱.۴.۰ دستخوش تحولات بزرگی شده است:
- فشردهسازی تاریخچه (Scrollback): بخشهایی از تاریخچه ترمینال که در صفحه دیده نمیشوند، بهصورت شفاف و خودکار فشرده میشوند که این کار مصرف حافظه فیزیکی (Resident Memory) را برای متون طولانی بین ۷۰ تا ۹۰ درصد کاهش میدهد. به همین دلیل، حد پیشفرض تاریخچه از ۱۰ مگابایت به ۵۰ مگابایت افزایش یافته است.
- تبهای پنهان: تبهای پسزمینه منابع GPU خود را آزاد میکنند. روی مکاواس، داشتن ۲۰ تب پنهان در کنار یک تب فعال، مصرف حافظه گرافیکی را از ۳۸۵ مگابایت به تنها ۱۸ مگابایت کاهش میدهد.
تکمیل پروتکل گرافیکی Kitty و کلیپبورد
Ghostty 1.4.0 اولین ترمینالی غیر از خود Kitty است که پیادهسازی پروتکل گرافیکی Kitty را به صورت ۱۰۰ درصدی تکمیل میکند. این نسخه اکنون از انیمیشنهای GIF (مانند ابزار icat) و جایگذاری نسبی تصاویر پشتیبانی میکند. همچنین پکتهای تصویری با استفاده از دستورات SIMD تجزیه میشوند که سرعت انتقال تصاویر بزرگ را تا ۱۶ برابر افزایش میدهد.
پروتکل کلیپبورد Kitty (موسوم به OSC 5522) نیز روی مکاواس و GTK پیادهسازی شده است که به برنامههای داخل ترمینال اجازه میدهد دادههای غنیتری مانند تصاویر یا فرمتهای HTML را از کلیپبورد بخوانند یا بنویسند.
رندر جدید OpenGL برای لینوکس
نسخه مبتنی بر GTK در لینوکس و FreeBSD اکنون از یک پایپلاین رندرینگ جدید مبتنی بر EGL و DMABUF استفاده میکند که مشکل تار بودن فونتها در مقیاسبندیهای کسری (Fractional Scaling مانند ۱۲۵٪ یا ۱۵۰٪) را بهطور کامل برطرف کرده و از برش تصویر (Tearing) جلوگیری میکند.
نگاه جامعه برنامهنویسان در Hacker News
در بحثهای هکرنیوز، برخی توسعهدهندگان ضمن تمجید از سرعت و ظاهر این ترمینال، درباره تفاوتهای آن با ابزارهای رقیب مانند Wezterm یا Kitty گفتگو کردند و همچنان به دنبال یکپارچهسازی کامل با قابلیتهای پیشرفته tmux (-CC) هستند.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل