Skip to content

Conversation

@VOIDLite
Copy link

@VOIDLite VOIDLite commented Sep 7, 2025

Menerapkan beberapa optimisasi kinerja kritis di seluruh codebase untuk secara signifikan mengurangi latensi, penggunaan CPU, dan operasi I/O.

Perubahan Utama:

  1. Penanganan Perintah yang Efisien: Mengganti loop penanganan perintah O(n) di system/handler.js dengan pencarian berbasis Map O(1). Ini secara drastis mempercepat waktu respons perintah. Sistem case.js yang usang juga telah dinonaktifkan.

  2. Optimalisasi Database: Merefaktor lib/database.js untuk menghilangkan operasi baca/tulis file yang memblokir dan berlebihan pada setiap pesan. Operasi sekarang bersifat asinkron dan hanya memodifikasi data dalam memori, dengan penyimpanan yang terjadi secara berkala.

  3. Menghapus Hot-Reload yang Tidak Efisien: Menonaktifkan setInterval di index.js yang memuat ulang semua plugin dan scraper setiap 2 detik, yang menyebabkan beban CPU dan I/O yang konstan.

  4. Inisialisasi Cron Job yang Benar: Memindahkan logika penjadwalan cron dari handler pesan ke index.js untuk memastikan hanya diinisialisasi sekali saat startup.

Menerapkan beberapa optimisasi kinerja kritis di seluruh codebase untuk secara signifikan mengurangi latensi, penggunaan CPU, dan operasi I/O.

Perubahan Utama:

1.  **Penanganan Perintah yang Efisien:** Mengganti loop penanganan perintah O(n) di `system/handler.js` dengan pencarian berbasis `Map` O(1). Ini secara drastis mempercepat waktu respons perintah. Sistem `case.js` yang usang juga telah dinonaktifkan.

2.  **Optimalisasi Database:** Merefaktor `lib/database.js` untuk menghilangkan operasi baca/tulis file yang memblokir dan berlebihan pada setiap pesan. Operasi sekarang bersifat asinkron dan hanya memodifikasi data dalam memori, dengan penyimpanan yang terjadi secara berkala.

3.  **Menghapus Hot-Reload yang Tidak Efisien:** Menonaktifkan `setInterval` di `index.js` yang memuat ulang semua plugin dan scraper setiap 2 detik, yang menyebabkan beban CPU dan I/O yang konstan.

4.  **Inisialisasi Cron Job yang Benar:** Memindahkan logika penjadwalan `cron` dari handler pesan ke `index.js` untuk memastikan hanya diinisialisasi sekali saat startup.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant