Bagaimana Anda mengoptimalkan kode dengan python?

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)


6. Penggabungan String

 
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 '+'

Bagaimana cara mengoptimalkan kode Python saya lebih cepat?

Mari kita mulai. .
Algoritma & Struktur Data yang Tepat. Setiap struktur data memiliki pengaruh yang signifikan terhadap runtime. .
Menggunakan Fungsi dan Pustaka Bawaan. Fungsi bawaan Python adalah salah satu cara terbaik untuk mempercepat kode Anda. .
Gunakan Banyak Tugas. .
Lebih suka Pemahaman Daftar Daripada Loops. .
Impor yang Tepat. .
Penggabungan String

Bagaimana Anda melakukan pengoptimalan kode?

Proses pengoptimalan kode harus mengikuti tiga aturan yang diberikan di bawah ini. .
Kode keluaran tidak boleh, dengan cara apa pun, mengubah arti program
Optimasi harus meningkatkan kecepatan program dan jika memungkinkan, program harus menuntut lebih sedikit sumber daya

Bisakah Python digunakan untuk optimasi?

Python dapat digunakan untuk mengoptimalkan parameter dalam model agar sesuai dengan data, meningkatkan profitabilitas desain teknik potensial, atau memenuhi beberapa jenis tujuan lain yang dapat dijelaskan secara matematis dengan variabel dan persamaan.