Kenapa Python 3.15 Bikin Import Module Jadi Hampir Instan?
Python 3.15 rilis 9 Oktober 2026: lazy imports bikin startup lebih cepat, JIT 7-12% lebih kencang, UTF-8 default, frozendict, sentinel, dan profiler Tachyon.
Bayangkan kamu menjalankan skrip Python favoritmu, lalu menunggu beberapa detik hanya sampai interpreter selesai memuat modul. Padahal sebagian besar modul itu tidak pernah dipakai saat program berjalan. Itulah pajak tersembunyi yang dibayar setiap aplikasi Python besar.
Pada 9 Oktober 2026, Python Software Foundation merilis Python 3.15. Rilis ini membawa satu fitur yang langsung menyentuh masalah di atas, yaitu lazy imports, plus JIT yang lebih kencang dan beberapa tipe data bawaan baru.
Artikel ini merangkum perubahan paling penting di Python 3.15, kenapa kamu perlu peduli, dan apa yang sebaiknya kamu coba duluan setelah upgrade.

Lazy Imports: Import Tanpa Bayar di Muka
Selama ini Python memuat modul seketika saat baris import dieksekusi. Modul dicari di disk, dikompilasi ke bytecode, lalu semua kode level atas dijalankan. Untuk aplikasi dengan pohon dependensi yang dalam, proses ini bisa makan waktu beberapa detik meski sebagian kode tidak pernah dipakai.
Solusinya selama ini tidak enak: memindahkan import ke dalam fungsi, atau memakai importlib untuk memuat modul sesuai kebutuhan. Keduanya membuat kode sulit dibaca karena import tersebar di mana-mana dan butuh disiplin konsisten.
Python 3.15 memperkenalkan kata kunci lembut lazy lewat PEP 810. Kamu cukup menulis lazy import json, dan Python menunda pemuatan modul sampai nama itu benar-benar dipakai. Manfaat organisasinya tetap, karena semua import tetap tertulis rapi di atas file, tetapi biaya loading hanya dibayar untuk modul yang dipakai.
Fitur ini juga bisa dinyalakan secara global tanpa mengubah kode. Opsi -X lazy_imports atau variabel lingkungan PYTHON_LAZY_IMPORTS membuat semua import jadi lazy, dan kamu bisa mengaturnya saat runtime lewat sys.set_lazy_imports(). Kalau ingin lebih selektif, sys.set_lazy_imports_filter() menerima fungsi yang menentukan modul mana yang boleh dimuat malas.
Satu hal penting: lazy imports hanya boleh dipakai di level modul. Memakainya di dalam fungsi, class, atau blok try/except akan memicu SyntaxError. Star import dan future import juga tidak bisa lazy.
JIT Makin Cepat: Naik 7 sampai 12 Persen Tanpa Ubah Kode
Kompiler JIT eksperimental di CPython dapat peningkatan signifikan di rilis ini. Di sistem Linux x86-64, kompiler yang ditingkatkan memberi peningkatan performa rata-rata geometris 7 sampai 8 persen dibanding interpreter standar.
Di macOS AArch64 angkanya lebih besar: peningkatan mencapai 11 sampai 12 persen dibanding tail-calling interpreter. Kabar baiknya, binary Windows 64 bit resmi kini memakai tail-calling interpreter, jadi pengguna Windows ikut merasakan sebagian keuntungannya.
Angka-angka ini datang tanpa kamu perlu mengubah satu baris kode pun. Kamu hanya upgrade interpreter, dan program lama berjalan lebih cepat. Ini jenis peningkatan yang paling disukai developer: gratis, otomatis, dan tanpa risiko refactor.
UTF-8 Default, frozendict, dan sentinel
Perubahan yang paling terasa sehari-hari mungkin datang dari PEP 686: Python kini memakai UTF-8 sebagai encoding default. Ini meningkatkan konsistensi antar sistem operasi dan mengurangi masalah encoding saat aplikasi memindahkan file teks antara Linux, Windows, dan macOS.
Python 3.15 juga menambah dua tipe bawaan baru. Yang pertama adalah frozendict dari PEP 814, kamus yang tidak bisa diubah setelah dibuat. Ia menjaga urutan penyisipan, dan bisa dipakai sebagai objek hashable selama key dan value-nya juga hashable. Berguna untuk konfigurasi atau lookup table yang tidak boleh berubah.
Yang kedua adalah sentinel dari PEP 661, mekanisme standar untuk membuat nilai penanda unik. Nilai semacam ini umum dipakai di API untuk membedakan argumen yang tidak diberikan dengan argumen yang eksplisit diberi nilai seperti None. Sebelumnya setiap library membuat caranya sendiri, sekarang ada cara baku.

Profiler Tachyon: Profiling Tanpa Beban
Python 3.15 memperkenalkan paket profiling baru yang merapikan semua perkakas profiling bawaan di satu namespace. Di dalamnya ada Tachyon, profiler sampling statistik frekuensi tinggi yang baru.
Berbeda dengan profiler deterministik yang menginstrumentasi setiap pemanggilan fungsi, Tachyon menangkap stack trace secara berkala dari proses yang sedang berjalan. Hasilnya: overhead nyaris nol dengan laju sampling sampai 1.000.000 Hz, menjadikannya profiler sampling tercepat untuk Python saat dikontribusikan.
Yang paling menarik: Tachyon bisa menempel ke proses Python yang sudah berjalan tanpa restart dan tanpa ubah kode. Kamu tinggal arahkan ke PID, lalu kumpulkan data. Ia mendukung mode waktu wall-clock, waktu CPU, dan waktu memegang GIL, plus bisa menghasilkan flame graph untuk menemukan bottleneck. Modul profile yang lama kini deprecated dan akan dihapus di Python 3.17.
Free Threading, Unpacking di Comprehension, dan Lainnya
Dukungan free-threaded build ikut diperluas. Python 3.15 membawa dukungan stable ABI untuk build tanpa GIL beserta perbaikan C API terkait, sehingga pengembang ekstensi lebih mudah mendukung model eksekusi ini. Installer macOS resmi kini menyertakan dukungan free-threading secara default.
Di sisi bahasa, PEP 798 menambah unpacking di dalam comprehension. Ada juga pesan error yang diperbaiki, output command line yang lebih berwarna, kemampuan typing baru, dan frame pointer yang kini aktif secara default untuk observabilitas sistem yang lebih baik.
Cara paling seru mencoba semua ini mungkin lewat whatsnewt, game petualangan berbasis terminal dari developer Python Barry Warsaw berisi 18 teka-teki seputar kemampuan baru Python 3.15. Kamu bisa memainkannya dengan uvx --python 3.15 whatsnewt.
Intinya, Python 3.15 bukan rilis kosmetik. Startup lebih cepat, runtime lebih kencang, encoding lebih konsisten, dan tooling profiling kelas produksi. Kalau kamu penasaran dengan proyek eksperimen Python saya yang lain, mampir ke /projects untuk melihat daftarnya.

Dimas Febriyanto
Fullstack & Mobile Developer specializing in Golang & Flutter. Aktif sebagai Junior Mobile Developer di Sagara Technology & asisten lab di Universitas Gunadarma. Passionate about building scalable algorithms & high-impact applications.
Lihat Portofolio