- Python Global Interpreter Lock (GIL) selama ini menjadi hambatan utama yang menghalangi peningkatan performa pada program yang menggunakan banyak thread.
- Pada Oktober 2021, Sam Gross memperkenalkan versi pembuktian konsep Python tanpa GIL, tetapi meskipun awalnya mendapat sambutan antusias, selama lebih dari setahun hampir tidak ada kemajuan besar.
- Python Steering Council kini telah mengumumkan niatnya untuk mengintegrasikan fitur no-GIL.
- Proyek Faster CPython yang dimulai pada pertengahan 2021 berfokus pada peningkatan performa single-thread interpreter Python.
- Pada PyCon tahun ini, dua anggota tim Faster CPython mempresentasikan strategi yang mereka gunakan untuk meningkatkan performa interpreter.
- Pada Januari 2023, pengembang inti Łukasz Langa memublikasikan versi pertama PEP 703 ("Membuat Global Interpreter Lock opsional di CPython") yang ditulis oleh Gross.
- Komunitas Python berusaha menghindari transisi kacau dari Python 2 ke Python 3. Semua perubahan untuk menghapus GIL harus tetap kompatibel dengan kode yang belum dipersiapkan untuk perubahan ini.
- Pada 14 Juni, tim Faster CPython meningkatkan tekanan dengan mendesak diambilnya keputusan terkait fitur no-GIL.
- Pada 28 Juli, anggota dewan Thomas Wouters mengumumkan bahwa dewan telah menerima PEP 703, tetapi rincian penerimaannya masih sedang diselaraskan.
- Rencananya adalah memperkenalkan versi interpreter no-GIL untuk mengidentifikasi seluruh komponen yang masih kurang, lalu menyelesaikannya agar no-GIL pada akhirnya menjadi versi default sekaligus versi final Python.
- Transisi ke versi no-GIL diperkirakan akan memakan waktu sekitar 5 tahun, disertai komitmen untuk tidak mengulangi kesalahan masa lalu.
- Artikel ini membahas cara mempercepat loop for/foreach ketika tersedia data yang "embarrassingly parallel" dengan menggunakan pemrograman paralel di .NET.
- Artikel ini membahas kelayakan jangka panjang dalam mempertahankan performa single-thread Python, sementara sebagian pihak berpendapat bahwa overhead yang tak terhindarkan dan meningkatnya kompleksitas pada akhirnya akan menurunkan performa.
- Artikel ini merefleksikan transisi dari Python 2 ke Python 3, yang tidak memiliki kompatibilitas antara kedua versinya.
- Penulis berpendapat bahwa dampak inkompatibilitas Python 3 terhadap Python 2 sudah diperkirakan oleh sebagian orang, bertentangan dengan pandangan umum, dan membagikan tautan ke tulisan blog dari tahun 2007.
- Penulis menekankan pentingnya pelajaran yang dipetik dari transisi Python 2 ke Python 3 agar masalah serupa dapat dihindari di masa depan.
- Artikel ini ditutup dengan pengakuan atas visi jauh ke depan dari orang-orang yang telah memprediksi tantangan transisi dari Python 2 ke Python 3.
1 komentar
Komentar Hacker News