Friday, March 29, 2013

Perbandingan performa saja

Karena terlalu terbiasa dengan bahasa jawa (in english: "java") beberapa permasalahan ilmu baru dapat diselesaikan dengan pembuatan program-program dalam bahasa jawa. Seperti keingin tahuan tentang modifikasi paket http misalnya, modifikasi paket akan terlalu memaksa jika dilakukan secara manual editing (bisa gak sih manual? kayaknya ribet dan mesti butuh tool juga). Intinya sama, tetep membutuhkan sebuah tool yang dapat menangkap semua paket http kemudian dimodifikasi seperlunya :).


Aplikasi proxy sederhana adalah solusinya, dengan mengarahkan browser menuju ke port di mana aplikasi membuka "pintu". Dari beberapa kali melakukan pembuatan aplikasi serupa, saya sedikit mengerti tentang alur bagaimana program menangkap data kemudian mengirimkan ke tujuan. Aplikasi ini diletakkan di tengah lebih tepatnya, di antara saya dan tujuan saya ("suspected as unwanted person" -- baca: pihak ketiga :P). Aplikasi proxy yang dibuat dengan java ini bisa melaksanakan algoritma sesuai yang dirumuskan, namun akhir-akhir ini saya merasakan ada gejala komputer lemot dan setelah saya cek program ini memakan cpu yang lumayan besar seperti terlihat pada gambar berikut :


Angka pada kolom CPU menunjukkan angka yang selalu lebih besar dari 10. Sebelumnya tidak ada permasalahan walaupun lebih besar dari 10. Karena kebutuhan semakin banyak, software yang terinstallpun semakin bertambah dan aplikasi ini mulai mengganggu dari proses yang lain. Sudah saya ketahui program java ini berjalan di atas virtual yang mirip seperti sebuah operating system berjalan di atas operating system yang lain. Saya memutuskan untuk menuangkan algoritma ke dalam bahasa pemrograman yang lain, yang tidak memerlukan virtual machine seperti java yang menggunakan jvm untuk prosesnya. Browsing sana sini dan menemukan beberapa kode CSharp yang bisa dipahami dan mencoba untuk mengkombinasikan sebisanya dengan bermodal algoritma. Alhasil program telah jadi dan terkompail manjadi sebuah file exe.


Aplikasi dengan algoritma yang sama dengan bahasa pemrograman yang berbeda. Berikut ini screenshot proses aplikasi ini.


Angka di kolom CPU jarang sekali terlihat, kalaupun muncul angka tidak pernah melebihi 1 alias nol koma saja. Waw sekali, terbukti sangat jauh perbedaan yang ada. Proses ini ditest dengan test yang terberat yaitu dilakukan untuk membuka video di youtube.


Yah begitulah, hari ini satu masalah teratasi. Berikutnya memikirkan untuk membuat versi GUI dari aplikasi ini. Dan masih digunakan sebatas keperluan pribadi, tidak untuk di share. Saatnya tidur... :))