Kinerja Emacs di MacOS melambat karena `[NSApp run]` dipanggil berulang dalam `ns_select` dan `ns_read_socket`, memulai loop utama tiap event.
Pemanggilan ini membuat serta menghancurkan jendela, konteks grafis, font, dan glyph berulang, menyebabkan alokasi memori besar yang sebagian tidak dilepas.
Semakin cepat perangkat dan semakin tinggi DPI layar, semakin banyak event, sehingga memori naik terus dan Emacs akhirnya membeku.
Profiling standar tidak menampilkan masalah; bug dapat direplikasi dengan meresize jendela cepat atau skrip Lisp yang membuat lalu menghapus frame.
Kode MacOS Emacs hanya memakai tiga thread dan banyak lock, sehingga perbaikan memerlukan redesign event queue dan dukungan thread yang lebih baik.
Penulis mengusulkan memigrasikan kode MacOS spesifik ke Swift untuk memanfaatkan manajemen memori, dukungan async, dan actor thread-safe guna mengurangi masalah.
Get notified when new stories are published for "Berita Peretas 🇮🇩 Bahasa Indonesia"