Go test '-run -' フラグにより​​テストがより高速に実行されます

王林
リリース: 2024-02-09 19:21:08
転載
363 人が閲覧しました

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

php エディター Apple は、テスト フレームワーク Go test を導入する際に、「-run -」フラグを使用するとテストの実行速度が大幅に向上する可能性があると指摘しました。このフラグは、Go test にサンプル コードではなくテスト関数のみを実行するように指示します。これにより、テスト フレームワークは不要な初期化プロセスやクリーンアップ プロセスをスキップできるため、テストの実行が高速化されます。頻繁にテストを実行する必要がある開発者にとって、このテクニックは非常に便利で、作業効率を向上させることができます。

質問内容

https://github.com/roaringbitmap/roaring

でいくつかのベンチマークを調べています。

特定のベンチマークを実行する場合は、-run - を使用します (コメントに記載されているように)。 go test -bench benchmarknexts -benchmem -run - はより速く実行されるようです。少なくとも -run - なしで実行すると、5 秒の初期オーバーヘッドがあるようです。これも描画されます。

リーリー

-run フラグは正規表現パターンに基づいてテストを実行するため、ここでは何かが除外されているように見えますが、どちらも同じテストを実行するということは正確には何でしょうか。唯一の違いは初期オーバーヘッドです。 。

解決策

go test "-run -" フラグを使用すると、テストがより高速に実行されます。

これは予想される結果です。テストを実行しない方が高速です。

何が実行されているかを確認するには、

-v オプションを go test 実行に追加します。

テストを実行しないでください:

リーリー

すべてのテストを実行します:

リーリー

または、

-run . はすべてのテストと同等であるため、 リーリー

go は go のソースコードを管理するためのツールです。

テストフラグ

リーリー

キャッシュを構築してテストする

go コマンドは、成功したパッケージ テストの結果もキャッシュします。詳細については、「ヘルプのテスト」を参照してください。 「go clean -testcache」を実行すると、キャッシュされたすべてのテスト結果が削除されます (キャッシュされたビルド結果は削除されません)。

以上がGo test '-run -' フラグにより​​テストがより高速に実行されますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!