Bagaimanakah Saya Boleh Mempercepatkan Penghuraian Tarikh dengan `strptime`?

Mary-Kate Olsen
Lepaskan: 2024-10-29 06:21:02
asal
492 orang telah melayarinya

How Can I Speed Up Date Parsing with `strptime`?

Bolehkah strptime dipercepatkan?

Menghuraikan kuantiti tarikh yang tinggi dalam format 'YYYY-MM-DD' boleh mengakibatkan kelembapan yang ketara apabila anda perlu memanipulasinya, seperti menambah atau menolak hari. Berikut ialah coretan kod yang menunjukkan kesesakan prestasi:

<code class="python">day = datetime.datetime.strptime(endofdaydate, "%Y-%m-%d").date()</code>
Salin selepas log masuk

Teknik penghuraian dipercepat

Untuk meningkatkan kelajuan penghuraian, pertimbangkan pendekatan berikut:

  1. Penghirisan eksplisit: Daripada menggunakan kaedah pemisahan, yang memerlukan pembuatan senarai baharu, gunakan penghirisan untuk mengekstrak komponen tahun, bulan dan hari:
<code class="python">datetime.date(int(a[:4]), int(a[5:7]), int(a[8:10]))  # ~1.06us</code>
Salin selepas log masuk
  1. Pemetaan langsung: Satu lagi pilihan pantas ialah memetakan terus subrentetan kepada integer menggunakan fungsi int:
<code class="python">datetime.date(*map(int, a.split('-')))  # ~1.28us</code>
Salin selepas log masuk

Teknik ini memberikan peningkatan prestasi yang ketara berbanding kepada strptime. Sebagai contoh, kaedah penghirisan mencapai faktor 8 pecutan, sangat mengurangkan masa pemprosesan untuk volum besar kurma.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mempercepatkan Penghuraian Tarikh dengan `strptime`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan