Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 16030|Jawab: 0

[Kiat] Beberapa metode perhitungan waktu eksekusi Python

[Salin tautan]
Diposting pada 23/04/2018 15.54.36 | | | |
Pertama-tama, mari kita bicara tentang jebakan yang saya temui, masalah yang dihadapi dalam produksi, saya menjadwalkan eksekusi skrip python dan memantau prosesnya, waktu berjalan skrip python jauh lebih besar daripada waktu eksekusi program yang saya hitung dalam skrip python.
Waktu untuk memantau eksekusi skrip python adalah 36 jam, sedangkan waktu eksekusi sendiri dalam skrip python adalah sekitar 4 jam.
Hal pertama yang terlintas di benak setelah masalah adalah ada masalah dengan Linux, dan saya tidak menemukan kelainan di berbagai log.
Kemudian saya memikirkan py2neo yang digunakan dalam python untuk menulis data secara asinkron, menghalangi eksekusi proses.
Akhirnya, masalahnya ditemukan: cara skrip python menggunakan time.clock() untuk menghitung waktu eksekusi CPU, bukan waktu eksekusi program.
Selanjutnya, mari kita bandingkan beberapa statistik waktu Python:

Metode 1:

datetime.datetime.now() mendapatkan tanggal saat ini, dan setelah eksekusi program berakhir, nilai waktu yang diperoleh dengan metode ini adalah waktu eksekusi program.

Metode 2:

time.time() untuk mendapatkan waktu saat ini sejak zaman (Dalam hitungan detik)。 Jika jam sistem menyediakannya, mungkin ada sepersekian detik. Jadi tempat ini mengembalikan tipe floating-point. Yang diperoleh di sini juga adalah waktu pelaksanaan program.

Metode 3:

time.clock() mengembalikan waktu CPU sejak program dimulai atau pertama kali dipanggil. Ini memiliki presisi yang sama seperti perekaman sistem. Pengembalian juga merupakan tipe floating-point. Apa yang Anda dapatkan di sini adalah waktu eksekusi CPU.
Catatan: Waktu eksekusi program = waktu CPU + waktu io + hibernasi atau waktu tunggu

Berikut adalah cara saya menguji waktu eksekusi fungsi menggunakan metode 2:







Mantan:tutorial instalasi python 3.6.5 di bawah Windows
Depan:Evolusi Arsitektur Jaringan Neural: Tinjauan komprehensif lebih dari sepuluh arsitektur dari LeNet5 hingga ENet
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com