Python adalah salah satu bahasa pemrograman paling populer di kalangan developer. Itu digunakan di mana-mana, baik itu pengembangan web atau pembelajaran mesin
Ada banyak alasan untuk popularitasnya, seperti dukungan komunitasnya, perpustakaannya yang luar biasa, penggunaannya yang luas dalam Machine Learning dan Big Data, dan sintaksisnya yang mudah.
Meskipun memiliki banyak kualitas tersebut, python memiliki satu kelemahan, yaitu kecepatannya yang lambat. Menjadi bahasa yang ditafsirkan, python lebih lambat dari bahasa pemrograman lainnya. Namun, kita bisa mengatasi masalah ini dengan menggunakan beberapa tips
Pada artikel ini, saya akan membagikan beberapa trik python yang dapat kita gunakan untuk membuat kode python kita berjalan lebih cepat dari biasanya. Mari kita mulai
1. Algoritma & Struktur Data yang Tepat
Setiap struktur data memiliki pengaruh yang signifikan terhadap runtime. Ada banyak struktur data bawaan seperti daftar, tupel, set, dan kamus di python. Kebanyakan orang menggunakan struktur data daftar dalam semua kasus
Dalam python, set dan kamus memiliki kinerja pencarian O(1) karena mereka menggunakan tabel hash untuk itu. Anda dapat menggunakan set dan kamus sebagai ganti daftar dalam kasus berikut
- Anda tidak memiliki item duplikat dalam koleksi
- Anda perlu mencari item berulang kali dalam koleksi
- Koleksinya berisi sejumlah besar item
Anda dapat melihat kompleksitas waktu dari berbagai struktur data dalam python di sini
Kompleksitas Waktu melalui Python Wiki
Halaman ini mendokumentasikan kerumitan waktu (alias "Big O" atau "Big Oh") dari berbagai operasi di CPython saat ini
2. Menggunakan Fungsi dan Pustaka Bawaan
Fungsi bawaan Python adalah salah satu cara terbaik untuk mempercepat kode Anda. Anda harus menggunakan fungsi python bawaan kapan pun diperlukan. Fungsi bawaan ini telah diuji dan dioptimalkan dengan baik
Alasan fungsi bawaan ini cepat adalah karena fungsi bawaan python, seperti min, maks, semua, peta, dll. , diimplementasikan dalam bahasa C
Anda harus menggunakan fungsi bawaan ini alih-alih menulis fungsi manual yang akan membantu Anda mengeksekusi kode lebih cepat
Contoh
newlist = [] for word in wordlist: newlist.append(word.upper())
Cara yang lebih baik untuk menulis kode ini adalah
newlist = map(str.upper, wordlist)_
Di sini kita menggunakan fungsi peta bawaan, yang ditulis dalam C. Oleh karena itu, jauh lebih cepat daripada menggunakan loop
3. Gunakan Banyak Tugas
Jika Anda ingin menetapkan nilai dari beberapa variabel, maka jangan menetapkannya baris demi baris. Python memiliki cara yang elegan dan lebih baik untuk menetapkan banyak variabel
Contoh
firstName = "John" lastName = "Henry" city = "Manchester"
Cara yang lebih baik untuk menetapkan variabel-variabel ini adalah
firstName, lastName, city = "John", "Henry", "Manchester"
Penugasan variabel ini jauh lebih bersih dan elegan daripada yang di atas
4. Lebih suka Pemahaman Daftar Daripada Loops
Pemahaman daftar adalah cara yang elegan dan lebih baik untuk membuat daftar baru berdasarkan elemen dari daftar yang ada hanya dalam satu baris kode
Pemahaman daftar dianggap sebagai cara yang lebih Pythonic untuk membuat daftar baru daripada mendefinisikan daftar kosong dan menambahkan elemen ke daftar kosong itu
Keuntungan lain dari pemahaman daftar adalah lebih cepat daripada menggunakan metode append untuk menambahkan elemen ke daftar python
Contoh
Menggunakan daftar menambahkan metode
newlist = [] for i in range(1, 100): if i % 2 == 0: newlist.append(i**2)_
Cara yang lebih baik menggunakan pemahaman daftar
newlist = [i**2 for i in range(1, 100) if i%2==0]
Kode terlihat lebih bersih saat menggunakan pemahaman daftar
5. Impor yang Tepat
Anda harus menghindari mengimpor modul dan pustaka yang tidak diperlukan sampai dan kecuali Anda membutuhkannya. Anda dapat menentukan nama modul alih-alih mengimpor pustaka lengkap
Mengimpor pustaka yang tidak diperlukan akan memperlambat kinerja kode Anda
Contoh
Misalkan Anda perlu mengetahui akar kuadrat dari sebuah angka. Alih-alih ini
import math value = math.sqrt(50)_
Gunakan ini
from math import sqrt value = sqrt(50)
Dalam python, kami menggabungkan string menggunakan operator '+'. Tapi cara lain untuk menggabungkan string dengan python adalah menggunakan metode join
Metode gabung adalah cara yang lebih pythonic untuk menggabungkan string, dan juga lebih cepat daripada menggabungkan string dengan operator '+'
Alasan mengapa metode join() lebih cepat adalah karena operator '+' membuat string baru dan kemudian menyalin string lama di setiap langkah, sedangkan metode join() tidak bekerja seperti itu.
Contoh
output = "Programming" + "is" + "fun_
Menggunakan metode bergabung
output = " ".join(["Programming" , "is", "fun"])_
Output dari kedua metode akan sama. Satu-satunya perbedaan adalah metode join() lebih cepat daripada operator '+'