Saat saya mulai memikirkan artikel ini, feed Medium saya menghasilkan postingan joker “Python sebenarnya tidak lambat” — saya membacanya meskipun saya tahu itu tidak benar dan hanya clickbait. Ketika berbicara tentang Python, Anda berurusan dengan siput, dan meskipun Anda dapat melatih siput, Anda tidak dapat lepas dari genetik dasarnya (tidak seperti Ethan Hawke di film klasik Gattaca) Show Saya mulai menulis beberapa tolok ukur sederhana untuk menguji silang dalam C, Rust, Java, dan Python. Saya pikir kategori utama untuk dievaluasi
Sebagai referensi, ada proyek hebat GitHub yang mengevaluasi kinerja di lebih dari selusin bahasa. Tabel ringkasan disertakan di bawah ini, dan jika C++ adalah garis dasar 1, maka Python 227x lebih lambat pada tes brainf (yang merupakan juru bahasa Turing Machine yang cukup menarik) Atas kebaikan proyek github oleh Kostya MSaya akhirnya menulis tes cuplikan super dasar karena saya sadar saya lupa cara memprogram di sebagian besar bahasa ini. Saya harus mengatur ulang ambisi saya agar sesuai dengan keterampilan saya yang lemah © Doug Foo LabsWawasan dari hasil tesSaya akan menautkan ke GitHub saya untuk pengujian yang benar-benar meretas di bagian Referensi. Saya harap penamaannya cukup jelas Ini adalah takeaways saya di seluruh bahasa
Tolok ukur 200x lebih lambat belum terbukti dalam kit kecil saya, tetapi jelas, beberapa panggilan fungsi tambahan dan rekursi dan Anda akan dengan mudah mencapainya Jadi mengapa Python lambat?Kebanyakan hal sudah jelas tetapi izinkan saya mencantumkannya
Catatan kami bahkan tidak menguji multithreaded atau multi-pemrograman karena kita semua tahu Python juga memiliki masalah GIL (Global Interpreter Lock) Cara mengoptimalkan PythonAda beberapa trik untuk mempercepat Python, tetapi kebanyakan tidak terlalu bagus
Sejujurnya saya tidak melihat banyak tip bagus… beberapa tip seperti “gunakan algoritma O(n) dan O(n-log n) alih-alih O(n²)”… mungkin tip pertama adalah mempelajari beberapa komputer 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 dapat melihat kompleksitas waktu dari berbagai struktur data dalam python di sini Kompleksitas Waktu melalui Python Wiki 2. Menggunakan Fungsi dan Pustaka Bawaan 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 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 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 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) 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 mempercepat kode Python?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 Mengapa kode saya berjalan sangat lambat Python?Singkatnya. Jadi singkatnya semuanya di sini python lambat terutama karena dua alasan utama. Salah satunya adalah secara dinamis mengetik bahasa yang berarti, tidak seperti di java, python tidak memiliki deklarasi variabel dan ini membuatnya cukup lama untuk dikompilasi dan kadang-kadang variabel berubah selama .
Mengapa Python tidak cepat?Karena Python adalah bahasa pemrograman yang diketik secara dinamis , Python mengkompilasi lebih cepat daripada bahasa lain tetapi berjalan lebih lambat.
Berapa banyak RAM yang dibutuhkan untuk Python?RAM. Setiap laptop untuk Pemrograman Python harus memiliki setidaknya 8 GB RAM . Tapi saya sarankan untuk mendapatkan setidaknya 16 GB RAM jika Anda mampu membelinya. Sebab, semakin besar RAM, semakin cepat pengoperasiannya. |