Rumah >pembangunan bahagian belakang >Golang >Pergi uji bendera '-run -' melaksanakan ujian dengan lebih pantas
Editor PHP Apple menegaskan semasa memperkenalkan rangka kerja ujian Go test bahawa menggunakan bendera "-run -" boleh meningkatkan kelajuan pelaksanaan ujian dengan ketara. Bendera ini memberitahu ujian Go untuk hanya menjalankan fungsi ujian dan bukan sebarang kod contoh. Ini membolehkan rangka kerja ujian melangkau proses permulaan dan pembersihan yang tidak perlu, menghasilkan pelaksanaan ujian yang lebih pantas. Bagi pembangun yang perlu melakukan ujian dengan kerap, teknik ini sangat berguna dan boleh meningkatkan kecekapan kerja.
Saya sedang melihat beberapa penanda aras di https://github.com/roaringbitmap/roaring
Apabila menjalankan penanda aras tertentu menggunakan -run -
(seperti yang dinyatakan dalam ulasan):
go test -bench benchmarknexts -benchmem -run -
nampaknya dilaksanakan dengan lebih pantas, sekurang-kurangnya menjalankannya tanpa go test -bench benchmarknexts -benchmem -run -
似乎执行得更快,至少在没有 -run -
nampaknya mempunyai overhed awal selama 5 saat, yang juga diplotkan:
==roaring== {1,2,3,4,5,100,1000} {3,4,1000} {} Cardinality: 7 Contains 3? true 1 3 4 5 1000 Wrote 22 bytes I wrote the content to a byte stream and read it back. size before run optimize: 1810 bytes, and after: 38 bytes.
Memandangkan bendera -run
menjalankan ujian berdasarkan corak regex, nampaknya ada sesuatu yang dikecualikan di sini, tetapi sebenarnya kedua-duanya menjalankan ujian yang sama, satu-satunya perbezaan ialah overhed awal.
go test "-run -" flag melaksanakan ujian dengan lebih pantas
Inilah hasil yang diharapkan. Ia lebih pantas apabila anda tidak menjalankan sebarang ujian.
Untuk melihat apa yang sedang dilaksanakan, tukar -v
选项添加到 go test
Laksanakan.
Tidak menjalankan ujian:
go clean -testcache && go test -bench benchmarknexts -benchmem -run - -v
Jalankan semua ujian:
go clean -testcache && go test -bench benchmarknexts -benchmem -v`
Atau, kerana -run .
setara dengan semua ujian,
go clean -testcache && go test -bench benchmarknexts -benchmem -run . -v
go ialah alat untuk mengurus kod sumber go.
Logo ujian
-run regexp Run only those tests, examples, and fuzz tests matching the regular expression. -v Verbose output: log all tests as they are run.
Bina dan uji cache
Arahan go juga menyimpan hasil ujian pakej yang berjaya. Lihat "Ujian Bantuan" untuk mendapatkan maklumat lanjut. Menjalankan "go clean -testcache" akan memadamkan semua keputusan ujian cache (tetapi bukan hasil binaan cache).
Atas ialah kandungan terperinci Pergi uji bendera '-run -' melaksanakan ujian dengan lebih pantas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!