Ruby on Linux vs Ruby on Windows
• Kunto Aji - Last modified atBenchmark atau pengujian Ruby 1.8 pada sistem operasi Linux ini dilakukan oleh Antonio Cangiano dimana sebelumnya sudah melakukan benchmark untuk Windows. Dalam benchmark yang dilakukan olehnya, ada beberapa kondisi yaitu:
- Sistem Operasi yang digunakan adalah Windows XP SP3 dan Ubuntu 9.04 32 bit.
- Versi Ruby yang digunakan untuk testing adalah ruby 1.8.6 (2009-03-31 patchlevel 368) [i386-mingw32], ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-mingw32], Ruby 1.8.6 (built from source di Linux) and Ruby 1.9.1 (built from source di Linux).
- Menggunakan Ruby Benchmark Suite dimana akan memberikan report terbaik dalam lima kali running, dengan timeout 300 detik setiap iterasi.
Kesimpulan Hasil Pengujian
Berdasarkan hasil dari tes, Antonio Cangiano menyimpulkan bahwa Ruby 1.8.6 pada sistem operasi Linux jauh lebih cepat dua kali kecepatan ruby 1.8.6 pada sistem Windows. Selain itu, Ruby 1.9.1 pada sistem operasi Linux lebih cepat lebih kurang 70% dibandingkan pada sistem operasi Windows.
Salah satu sebab performansi di Windows lebih buruk dikarenakan Windows XP SP3 menggunakan GCC 3.4.5 (compiler yang sudah berumur 4 tahun), sedangkan secara default Ubuntu menggunakan GCC 4.3.3. Jika versi GCC sama, ada kemungkinan Windows mendapat hasil yang mendekati, sama, atau bahkan melebihi implementasi ruby pada sistem operasi Linux.
Recent Posts
How to Defend Against Brute-Force and DoS Attacks with Fail2ban, Nginx limit_req, and iptables
In this tutorial, I’ll explain how to protect your public-facing Linux server and Nginx web server from common threats, including brute-force and DoS attacks.
Is Getting AWS Solutions Architect Associate Certification Worth It?
If you are a full-time Software Engineer, there's no strong need to pursue this certification.
DevSecOps
My Notes about DevSecOps
AWS Secrets Manager
Explanation about AWS Secrets Manager with example code.
Envelope Encryption
Envelope encryption is the practice of encrypting plaintext data with a data key, and then encrypting the data key under another key.