Microservice Dan Bahasa Pemrograman Python

: 298 | : 0 | : 06 April 2017


Kemong 69
- Kontributor

Tags | Python | Programming

Walaupun python itu lambat, namun itu bukan masalah. Kecepatan sebuah bahasa pemrograman (atau waktu CPU) hampir tidak pernah menjadi sebuah masalah.

Jika kamu menulis sebuah aplikasi jaringan, seperti sebuah web server, kemungkinan besar waktu siklus CPU bukanlah sebuah bottleneck atau penghambat bagi aplikasi mu. Mengapa? Ketika sebuah web server menangani sebuah request, mungkin panggilan tersebut akan melalui beberapa panggilan network, seperti misalnya panggilan ke database, atau mungkin sebuah cache server seperti Redis. Walaupun service tersebut terbilang cepat, panggilan jaringan kepada mereka itulah yang lambat. 

Jika kita ibaratkan sebuah siklus CPU adalah setara dengan 1 detik, maka sebuah panggilan jaringan dari California ke Newyork, akan setara dengan 4 tahun. Itulah gambaran berapa lambatnya sebuah panggilan jaringan.

Untuk gambaran kasarnya, anggaplah ada sebuah pemanggilan jaringan di dalam sebuah data center yang sama memerlukan waktu 3 milidetik. Itu kita anggap setara dengan 3 bulan dalam skala waktu manusia normal. Sekarang bayangkan program mu sangat memerlukan kerja CPU, program tersebut membutuhkan 100.000 siklus CPU untuk merespon sebuah panggilan. Waktu yang dibutuhkan tersebut hanya setara dengan 1 hari dalam skala waktu manusia. Sekarang kita gunakan sebuah bahasa pemrograman yang 5 kali lebih lambat, berapa waktu yang dibutuhkan untuk sebuah panggilan fungsi yang membutuhkan kerja CPU tersebut? Hanya sekitar 5 hari dalam skala waktu manusia. 

Sekarang bandingkan 3 bulan waktu yang dibutuhkan untuk menunggu respon sebuah panggilan jaringan, dan 4 hari selisih dari kedua bahasa pemrograman tersebut. Dari skala waktu yang diperbesar ini, kita dapat mengetahui bahwa perbedaan kecepatan eksekusi sebuah bahasa pemrograman bukanlah yang terpenting.

Artinya apa? Artinya walaupun python itu lambat, namun itu bukan masalah. Kecepatan sebuah bahasa pemrograman (atau waktu CPU) hampir tidak pernah menjadi sebuah masalah.

Google melakukan sebuah studi mengenai konsep ini, dan mereka menulis sebuah jurnal untuk hal tersebut. Dalam kesimpulannya mereka berkata:

Mungkin rasanya seperti sebuah paradoks, menggunakan sebuah interpreted language dalam sebuah lingkungan high-throughput, tapi kami menemukan bahwa waktu CPU sangat jarang sekali menjadi sebuah faktor penghambat. ...fleksibilitas dari penerapan Interpreted Language sangatlah membantu, baik dari segi eksperimentasi pada tingkat bahasa sekaligus memperkenankan kami untuk mengeksplor cara untuk mendistribusikan proses perhitungan melalui beberapa mesin sekaligus. 

 

 

Login untuk melihat komentar


Powered by: