Chore: benchmark explanation
This commit is contained in:
parent
4e38de95f2
commit
2aaefba4e3
2 changed files with 13 additions and 2 deletions
|
@ -47,3 +47,13 @@ Prerequisite
|
||||||
```
|
```
|
||||||
$ go test -p 1 -v
|
$ go test -p 1 -v
|
||||||
```
|
```
|
||||||
|
|
||||||
|
benchmark (Linux)
|
||||||
|
|
||||||
|
> Cannot represent the throughput of the protocol on your machine
|
||||||
|
> but you can compare the corresponding throughput of the protocol on clash
|
||||||
|
> (change chunkSize to measure the maximum throughput of clash on your machine)
|
||||||
|
|
||||||
|
```
|
||||||
|
$ go test -benchmem -run=^$ -bench .
|
||||||
|
```
|
||||||
|
|
|
@ -636,7 +636,8 @@ func benchmarkProxy(b *testing.B, proxy C.ProxyAdapter) {
|
||||||
c.Close()
|
c.Close()
|
||||||
}()
|
}()
|
||||||
|
|
||||||
chunk := make([]byte, 1024)
|
chunkSize := int64(16 * 1024)
|
||||||
|
chunk := make([]byte, chunkSize)
|
||||||
conn, err := proxy.DialContext(context.Background(), &C.Metadata{
|
conn, err := proxy.DialContext(context.Background(), &C.Metadata{
|
||||||
Host: localIP.String(),
|
Host: localIP.String(),
|
||||||
DstPort: "10001",
|
DstPort: "10001",
|
||||||
|
@ -646,7 +647,7 @@ func benchmarkProxy(b *testing.B, proxy C.ProxyAdapter) {
|
||||||
assert.FailNow(b, err.Error())
|
assert.FailNow(b, err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
b.SetBytes(1024)
|
b.SetBytes(chunkSize)
|
||||||
b.ResetTimer()
|
b.ResetTimer()
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
if _, err := conn.Write(chunk); err != nil {
|
if _, err := conn.Write(chunk); err != nil {
|
||||||
|
|
Loading…
Reference in a new issue