Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menanda aras dalam Go?

Bagaimana untuk menanda aras dalam Go?

WBOY
WBOYasal
2023-05-11 16:09:121516semak imbas

Bahasa Go ialah bahasa pengaturcaraan yang cekap, ditaip kuat, selamat bersamaan Dari awal reka bentuknya, ia memfokuskan pada prestasi tinggi dan kecekapan. Ujian penanda aras ialah salah satu kaedah yang digunakan dalam bahasa Go untuk menguji prestasi dan kecekapan kod.

Dalam artikel ini, kami akan memperkenalkan konsep dan matlamat penandaarasan, dan kemudian menerangkan cara menggunakan pakej ujian terbina dalam Go untuk menjalankan penandaarasan.

Apakah penanda aras?

Penanda aras ialah kaedah yang digunakan untuk menguji prestasi atur cara untuk menentukan prestasi dan kelajuan sesuatu kod atau algoritma. Biasanya, untuk menulis kod berprestasi tinggi, kita perlu mengoptimumkan algoritma dan struktur data. Walau bagaimanapun, jika kita tidak mempunyai cara untuk menilai prestasi, maka kita mungkin tidak tahu kaedah mana yang lebih baik.

Penanda aras ialah cara untuk mengukur dan menilai prestasi kod. Dengan menulis kod ujian dan menjalankannya berulang kali, perhatikan kelajuan dan kecekapan pelaksanaan kod dalam keputusan ujian. Ini membantu kami mengoptimumkan kod kami untuk prestasi yang lebih baik.

Apakah matlamatnya?

Matlamat utama penanda aras adalah untuk menentukan prestasi set kod. Selalunya, set kod ini akan menggunakan algoritma atau struktur data yang berbeza untuk mencapai hasil yang sama. Penanda aras boleh membantu kami menentukan algoritma atau struktur data yang paling cekap untuk mencapai prestasi yang lebih baik.

Matlamat lain ialah untuk mengenal pasti kecacatan dan kesesakan dalam kod. Dalam ujian, kita boleh melihat berapa lama dan berapa cepat kod dilaksanakan untuk memahami kemungkinan masalah dalam kod. Dengan mengenal pasti isu dan kesesakan, kami boleh mengoptimumkan lagi kod dan algoritma untuk prestasi yang lebih baik.

Penandaan aras menggunakan pakej ujian terbina dalam Go

Pakej ujian terbina dalam Go menyediakan fungsi untuk menulis ujian penanda aras. Pakej ujian menyokong penggabungan kod ujian dengan penanda aras dan ujian prestasi. Kita boleh menggunakan testing.B untuk menulis dan menjalankan penanda aras. testing.B ialah subset ujian.T, iaitu struktur yang mewakili ujian penanda aras.

Untuk menulis penanda aras, ikuti langkah berikut:

  1. Buat fungsi ujian dalam fail _test.go

Ujian mesti diawali dengan Penanda Aras Di permulaan, diikuti dengan nama fungsi ujian, awalan Ujian tidak boleh digunakan. Fungsi ini mesti menerima parameter jenis *pengujian.B.

Tegasnya, format rutin ialah: func BenchmarkXxx(*testing.B), di mana Xxx boleh menjadi nama fungsi, contoh: BenchmarkHello.

Contohnya:

func BenchmarkMyFunction(b *testing.B) {
    for n := 0; n < b.N; n++ {
        // Call the function you want to benchmark
        myFunction()
    }
}

Dalam contoh ini, kami menanda aras fungsi myFunction() dan menjalankannya b.N kali menggunakan gelung for.

  1. Jalankan penanda aras

Untuk menjalankan penanda aras, gunakan arahan go test dengan bendera -bench. Bendera -bench diikuti dengan ungkapan biasa yang menunjukkan penanda aras yang hendak dijalankan.

Contoh:

go test -bench=.

Ini akan menjalankan penanda aras yang sepadan dengan semua nama penanda aras dalam direktori semasa. Anda juga boleh lulus nama pakej sebagai hujah untuk pergi ujian untuk menjalankan hanya penanda aras dalam pakej itu.

  1. Analisis keputusan ujian

go test akan mengeluarkan keputusan ujian pada konsol. Output termasuk nama setiap ujian, bilangan pelaksanaan, dan jumlah masa. Format hasil output ialah:

BenchmarkMyFunction    1000000    97.9 ns/op

di mana BenchmarkMyFunction ialah nama ujian, 1000000 ialah bilangan ujian dijalankan dan 97.9 ns/op ialah purata masa (nanosaat) bagi setiap operasi.

Keputusan ujian mungkin berubah disebabkan oleh pengaruh program yang sedang berjalan, jadi disyorkan untuk menjalankan ujian beberapa kali untuk mendapatkan hasil yang lebih tepat.

Ringkasan

Go penanda aras ialah kaedah untuk mengukur dan menilai prestasi kod. Menulis dan menjalankan penanda aras adalah mudah menggunakan pakej ujian terbina dalam Go. Penandaarasan boleh membantu kami menentukan algoritma atau struktur data yang paling berkesan dan mengenal pasti kemungkinan masalah dan kesesakan dalam kod. Akhirnya, melalui pengoptimuman penanda aras, kami boleh mencapai prestasi dan kecekapan kod yang lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk menanda aras dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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