jaegertracing/jaeger

Improve unit test speed

已關閉

#6,111 建立於 2024年10月22日

 (25 則留言) (0 個反應) (0 位負責人)Go (2,326 個分叉)batch import
good first issuehelp wantedperformance

倉庫指標

星標
 (18,974 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

This blog post provides a good background / introduction: https://threedots.tech/post/go-test-parallelism/

When I ran the following command

GOMAXPROCS=1 go test -parallel 128 -p 16 -json ./... | go run github.com/roblaszczak/vgt@latest

I got the following output:

Image

It shows some tests running for a very long time (the darker blue colors), but even of some of them were sped up there are others (like in the first group in top left corner) that are still relatively long.

We also almost never use t.Parallel() in our test (right now I only found one instance), even though many of our tests are starting servers and making network calls, so could benefit from parallelism. But adding t.Parallel() should be done with care - some tests are starting servers on the same port (instead of ephemeral port) and must be refactored before adding parallelism.

貢獻者指南