Pergi uji bendera '-run -' melaksanakan ujian dengan lebih pantas

王林
Lepaskan: 2024-02-09 19:21:08
ke hadapan
363 orang telah melayarinya

Go test“-run -”标志执行测试的速度要快得多

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.

Kandungan soalan

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.
Salin selepas log masuk

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.

Penyelesaian

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
Salin selepas log masuk

Jalankan semua ujian:

go clean -testcache && go test -bench benchmarknexts -benchmem -v`
Salin selepas log masuk

Atau, kerana -run . setara dengan semua ujian,

go clean -testcache && go test -bench benchmarknexts -benchmem -run . -v
Salin selepas log masuk

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.
Salin selepas log masuk

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!

sumber:stackoverflow.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!