Pipe 取得 Pipe

基準測試報告 · 2026年11月14日

Pipe,與另外七個用戶端並排。

四個測試台——單獨的引擎、一部 Mac、一部 Android 手機和一部 iPhone——9 種協定,所有用戶端都用同一個伺服器和同一個 iperf3。對比其他用戶端中的最佳者,Pipe 在 204 項吞吐量測試中有 180 項領先或持平。它有 24 項落後,全部列在這裡。

  • 180/204

    吞吐量測試領先或持平

  • 1.7×

    每 GB 耗用的 CPU,少於其他引擎中的最佳者

  • 2.3×

    記憶體峰值,低於其他引擎中的最輕者

  • 4.5×

    每 GB 耗用的 CPU,少於其他 Android App 中的最佳者

結果,逐個測試台

一項測試是一種協定、一個方向和若干條並行串流,輪流經每個用戶端運行十秒。Pipe 勝過其他用戶端中的最佳者 5% 以上為領先,上下相差 5% 以內為持平,再低則為落後。

  • 引擎從不落後。 對比 sing-box、Xray 和 mihomo,它在 43 項測試中領先,其餘 11 項持平,耗用的 CPU 比其中最佳者少 1.7×,記憶體少 2.3×。
  • 各個 App 延續了這份表現。 整個用戶端連同其隧道都在路徑上時,對比 Surge Mac 和 FlClash,Pipe 在 60 項測試中有 55 項領先或持平;在 Android 上對比 FlClash 和 Surfboard,則是 36 項中的 33 項。
  • iPhone 上最為接近。 54 項中有 38 項領先或持平:大幅領先 Clash;對比 Surge,在大部分 QUIC、VMess 和 AnyTLS 測試中領先,在大部分 Shadowsocks 和 VLESS 測試中則低於它。

一部 Mac,loopback · 只有引擎

引擎

每個引擎都作為普通處理程序運行,入口是一個轉發連接埠,出口是一種協定,連到同一個固定版本的伺服器。沒有隧道,也沒有 App:這是核心本身能做到的,以及它們為此付出的代價。

  • Pipe 079ed34f
  • sing-box 1.14.4
  • Xray 26.11.9
  • mihomo 1.19.33
  • 吞吐量

    54/54

    領先或持平

    43 領先11 持平0 落後

    1.27× 為其他用戶端中最佳者的倍數,按幾何平均計

  • 每 GB 的 CPU

    52/54

    領先或持平

    49 領先3 持平2 落後

    1.74× 少於其他用戶端中的最佳者,按幾何平均計

  • 記憶體

    53/54

    領先或持平

    51 領先2 持平1 落後

    2.32× 少於其他用戶端中的最佳者,按幾何平均計

一個 GB 的代價

每個引擎承載 1 GiB 所耗用的 CPU 秒數,八個下載同時進行。在手機上這是電量;在任何裝置上這是熱力。在 Hysteria 2 上,Pipe 每 GiB 耗用 6.11 秒,Go 核心則耗用 26.47 至 34.26;在 WireGuard 上是 8.52,它們則是 43.14 至 64.40。

  • SOCKS5

    1. Pipe0.68
    2. sing-box1.30
    3. Xray1.53
    4. mihomo1.60
  • Shadowsocks

    1. Pipe1.03
    2. sing-box2.09
    3. Xray2.11
    4. mihomo2.22
  • VMess

    1. Pipe1.36
    2. sing-box1.97
    3. Xray1.69
    4. mihomo1.92
  • VLESS

    1. Pipe1.20
    2. sing-box2.12
    3. Xray2.11
    4. mihomo2.13
  • Trojan

    1. Pipe1.30
    2. sing-box1.96
    3. Xray2.33
    4. mihomo2.11
  • AnyTLS

    1. Pipe1.57
    2. sing-box2.55
    3. Xray—
    4. mihomo2.99
  • Hysteria 2

    1. Pipe6.11
    2. sing-box26.47
    3. Xray34.26
    4. mihomo33.67
  • TUIC

    1. Pipe5.68
    2. sing-box26.46
    3. Xray—
    4. mihomo33.97
  • WireGuard

    1. Pipe8.52
    2. sing-box51.46
    3. Xray64.40
    4. mihomo43.14
每 GiB 的 CPU 秒數,八個下載同時進行。越少越好;每幅圖表各有自己的刻度。破折號表示該用戶端不支援的協定。

它佔用多少

同一項測試期間的記憶體峰值。Pipe 沒有垃圾回收器,每一個緩衝區都從同一份預算中租用,所以它的佔用量隨工作量而定:單一下載時 5 MiB,六十四個下載時 11。

  • SOCKS5

    1. Pipe6
    2. sing-box26
    3. Xray17
    4. mihomo19
  • Shadowsocks

    1. Pipe8
    2. sing-box23
    3. Xray19
    4. mihomo40
  • VMess

    1. Pipe9
    2. sing-box22
    3. Xray21
    4. mihomo21
  • VLESS

    1. Pipe8
    2. sing-box22
    3. Xray19
    4. mihomo20
  • Trojan

    1. Pipe7
    2. sing-box21
    3. Xray19
    4. mihomo20
  • AnyTLS

    1. Pipe10
    2. sing-box23
    3. Xray—
    4. mihomo22
  • Hysteria 2

    1. Pipe7
    2. sing-box22
    3. Xray19
    4. mihomo21
  • TUIC

    1. Pipe7
    2. sing-box22
    3. Xray—
    4. mihomo20
  • WireGuard

    1. Pipe7
    2. sing-box120
    3. Xray30
    4. mihomo70
記憶體峰值,以 MiB 計,八個下載同時進行。越少越好;每幅圖表各有自己的刻度。

它有多快

在 loopback 上,單一串流時最快的幾種協定受限於伺服器,所以幾個引擎在那裡讀數相若,要靠 CPU 才分得出高下。八條串流時,引擎本身才是極限:Pipe 承載 9.1 Gbit/s 的 Shadowsocks,其他引擎中的最佳者則為 6.0。

  • SOCKS5

    1. Pipe10,631
    2. sing-box6,522
    3. Xray6,581
    4. mihomo5,511
  • Shadowsocks

    1. Pipe9,074
    2. sing-box5,261
    3. Xray4,902
    4. mihomo5,958
  • VMess

    1. Pipe8,791
    2. sing-box5,570
    3. Xray6,942
    4. mihomo6,315
  • VLESS

    1. Pipe7,314
    2. sing-box5,148
    3. Xray4,629
    4. mihomo5,163
  • Trojan

    1. Pipe7,322
    2. sing-box5,121
    3. Xray4,603
    4. mihomo5,221
  • AnyTLS

    1. Pipe6,849
    2. sing-box5,182
    3. Xray—
    4. mihomo4,936
  • Hysteria 2

    1. Pipe1,266
    2. sing-box685
    3. Xray681
    4. mihomo684
  • TUIC

    1. Pipe1,329
    2. sing-box697
    3. Xray—
    4. mihomo674
  • WireGuard

    1. Pipe762
    2. sing-box489
    3. Xray427
    4. mihomo549
吞吐量,以 Mbit/s 計,八個下載同時進行。越多越好;每幅圖表各有自己的刻度。

每一項測試

每個方格是一項測試:Pipe 的數字,以及它與其他用戶端中最佳者的差距。箭嘴表示方向,旁邊的數字是串流數目。

領先持平落後

吞吐量: 每項測試中 Pipe 對比其他用戶端中的最佳者 (Mbit/s, 越多越好)
協定下載, 1 條串流下載, 8 條串流下載, 64 條串流上載, 1 條串流上載, 8 條串流上載, 64 條串流
SOCKS5+4%11,194+62%10,631+2%8,432+5%9,907+45%9,725+5%8,498
Shadowsocks−3%10,822+52%9,074−2%7,686+12%10,607+29%9,050+2%7,784
VMess−3%7,603+27%8,791+7%7,736+11%8,583+38%8,519+11%7,897
VLESS+2%7,603+42%7,314+8%7,510+18%8,582+30%6,951+12%7,700
Trojan+8%7,564+40%7,322+7%7,432+25%8,658+33%7,018+8%7,621
AnyTLS−5%6,501+32%6,849+3%7,151+72%11,663+59%8,189+11%7,716
Hysteria 2+10%1,207+85%1,266+15%778+6%1,901×2.11,847×2.51,840
TUIC+7%1,217+91%1,329+35%914+3%1,884×2.21,860×2.51,853
WireGuard+30%764+39%762+25%690+12%1,673+33%1,436+43%1,498
每 GB 的 CPU: 每項測試中 Pipe 對比其他用戶端中的最佳者 (每 GiB 的 CPU 秒數, 越少越好)
協定下載, 1 條串流下載, 8 條串流下載, 64 條串流上載, 1 條串流上載, 8 條串流上載, 64 條串流
SOCKS5−20%0.61−48%0.68−3%0.56−21%0.66−42%0.71−18%0.45
Shadowsocks+9%0.82−51%1.03−7%0.78+53%0.72−31%0.96−14%0.69
VMess+1%1.18−20%1.36−1%1.14−40%0.67−39%1.10−10%0.88
VLESS−14%1.08−43%1.20−9%0.97−53%0.42−56%0.86−32%0.69
Trojan−14%1.08−34%1.30−11%0.96−64%0.42−53%0.92−23%0.70
AnyTLS−9%1.55−38%1.57−29%1.10−72%0.47−56%1.08−32%0.77
Hysteria 2−56%6.68−77%6.11−50%14.72−31%5.49−42%6.04−40%5.71
TUIC−62%6.07−79%5.68−55%13.35−26%5.75−44%5.93−41%5.58
WireGuard−78%8.59−80%8.52−74%12.93−60%5.56−75%6.46−70%5.97
記憶體: 每項測試中 Pipe 對比其他用戶端中的最佳者 (MiB, 越少越好)
協定下載, 1 條串流下載, 8 條串流下載, 64 條串流上載, 1 條串流上載, 8 條串流上載, 64 條串流
SOCKS5−71%5−67%6−50%11−69%5−67%6−50%11
Shadowsocks−72%5−58%8−39%19−69%5−62%7−13%20
VMess−69%6−58%9−28%22−68%6−55%9−13%27
VLESS−69%5−61%8−35%20−66%6−61%8−37%18
Trojan−69%5−62%7−40%18−65%6−59%8−37%19
AnyTLS−68%6−54%10−38%24−70%5−60%9−36%24
Hysteria 2−67%6−65%7−68%7−51%9−32%13−0%29
TUIC−67%6−66%7−68%8−50%10−43%12−1%30
WireGuard−67%7−76%7−85%12−81%12−24%62+23%121
所有數字 54 項測試 × 4 個用戶端
吞吐量 (Mbit/s, 越多越好)
測試Pipesing-boxXraymihomo
SOCKS5 ↓ 111,1947,68810,72610,200
SOCKS5 ↑ 19,9077,7139,4038,842
SOCKS5 ↓ 810,6316,5226,5815,511
SOCKS5 ↑ 89,7256,4766,7106,556
SOCKS5 ↓ 648,4327,8348,2338,087
SOCKS5 ↑ 648,4987,7058,0998,117
Shadowsocks ↓ 110,82210,77710,93911,182
Shadowsocks ↑ 110,6079,4506,9059,193
Shadowsocks ↓ 89,0745,2614,9025,958
Shadowsocks ↑ 89,0506,2225,2946,993
Shadowsocks ↓ 647,6867,8727,8117,639
Shadowsocks ↑ 647,7847,3256,1217,625
VMess ↓ 17,6037,8327,4007,818
VMess ↑ 18,5837,7544,9986,985
VMess ↓ 88,7915,5706,9426,315
VMess ↑ 88,5195,5784,7196,185
VMess ↓ 647,7366,6967,2077,207
VMess ↑ 647,8977,0796,0437,116
VLESS ↓ 17,6037,4526,7237,049
VLESS ↑ 18,5827,0017,2796,869
VLESS ↓ 87,3145,1484,6295,163
VLESS ↑ 86,9515,1244,8915,332
VLESS ↓ 647,5106,8256,3356,961
VLESS ↑ 647,7006,8406,2056,867
Trojan ↓ 17,5647,0236,7386,967
Trojan ↑ 18,6586,9266,8706,816
Trojan ↓ 87,3225,1214,6035,221
Trojan ↑ 87,0185,1224,9295,295
Trojan ↓ 647,4326,9296,5746,182
Trojan ↑ 647,6216,4776,3867,033
AnyTLS ↓ 16,5016,826—6,580
AnyTLS ↑ 111,6636,763—5,973
AnyTLS ↓ 86,8495,182—4,936
AnyTLS ↑ 88,1895,150—4,779
AnyTLS ↓ 647,1516,961—6,743
AnyTLS ↑ 647,7166,948—6,642
Hysteria 2 ↓ 11,2071,098983991
Hysteria 2 ↑ 11,9011,796716733
Hysteria 2 ↓ 81,266685681684
Hysteria 2 ↑ 81,847879620652
Hysteria 2 ↓ 64778674664670
Hysteria 2 ↑ 641,840742604624
TUIC ↓ 11,2171,135—999
TUIC ↑ 11,8841,836—732
TUIC ↓ 81,329697—674
TUIC ↑ 81,860852—659
TUIC ↓ 64914678—674
TUIC ↑ 641,853741—636
WireGuard ↓ 1764555507589
WireGuard ↑ 11,6731,2586261,500
WireGuard ↓ 8762489427549
WireGuard ↑ 81,4361,080499440
WireGuard ↓ 64690498失敗552
WireGuard ↑ 641,4981,046495286
每 GB 的 CPU (每 GiB 的 CPU 秒數, 越少越好)
測試Pipesing-boxXraymihomo
SOCKS5 ↓ 10.611.010.760.81
SOCKS5 ↑ 10.660.900.840.88
SOCKS5 ↓ 80.681.301.531.60
SOCKS5 ↑ 80.711.261.311.23
SOCKS5 ↓ 640.560.580.750.77
SOCKS5 ↑ 640.450.580.550.68
Shadowsocks ↓ 10.820.750.851.53
Shadowsocks ↑ 10.720.470.680.88
Shadowsocks ↓ 81.032.092.112.22
Shadowsocks ↑ 80.961.611.541.40
Shadowsocks ↓ 640.780.840.891.52
Shadowsocks ↑ 640.690.871.050.80
VMess ↓ 11.181.171.591.26
VMess ↑ 10.671.231.891.11
VMess ↓ 81.361.971.691.92
VMess ↑ 81.101.902.351.79
VMess ↓ 641.141.151.241.16
VMess ↑ 640.880.981.431.18
VLESS ↓ 11.081.271.311.26
VLESS ↑ 10.421.440.901.47
VLESS ↓ 81.202.122.112.13
VLESS ↑ 80.862.131.952.06
VLESS ↓ 640.971.131.191.07
VLESS ↑ 640.691.021.091.01
Trojan ↓ 11.081.261.321.26
Trojan ↑ 10.421.331.181.47
Trojan ↓ 81.301.962.332.11
Trojan ↑ 80.922.121.952.06
Trojan ↓ 640.961.081.191.23
Trojan ↑ 640.700.971.050.91
AnyTLS ↓ 11.551.71—1.82
AnyTLS ↑ 10.471.65—1.66
AnyTLS ↓ 81.572.55—2.99
AnyTLS ↑ 81.082.48—2.64
AnyTLS ↓ 641.101.54—1.78
AnyTLS ↑ 640.771.14—1.15
Hysteria 2 ↓ 16.6815.2023.5823.39
Hysteria 2 ↑ 15.497.9128.5627.60
Hysteria 2 ↓ 86.1126.4734.2633.67
Hysteria 2 ↑ 86.0410.4922.9822.14
Hysteria 2 ↓ 6414.7229.6935.0734.40
Hysteria 2 ↑ 645.719.5822.7519.89
TUIC ↓ 16.0716.11—25.17
TUIC ↑ 15.757.78—25.57
TUIC ↓ 85.6826.46—33.97
TUIC ↑ 85.9310.58—24.32
TUIC ↓ 6413.3529.40—31.51
TUIC ↑ 645.589.50—19.34
WireGuard ↓ 18.5941.3650.2539.56
WireGuard ↑ 15.5626.8532.1813.79
WireGuard ↓ 88.5251.4664.4043.14
WireGuard ↑ 86.4625.8047.5940.18
WireGuard ↓ 6412.9349.61失敗49.14
WireGuard ↑ 645.9719.6237.2942.28
記憶體 (MiB, 越少越好)
測試Pipesing-boxXraymihomo
SOCKS5 ↓ 15201619
SOCKS5 ↑ 15191618
SOCKS5 ↓ 86261719
SOCKS5 ↑ 86271819
SOCKS5 ↓ 6411662621
SOCKS5 ↑ 6411652822
Shadowsocks ↓ 15181721
Shadowsocks ↑ 15181617
Shadowsocks ↓ 88231940
Shadowsocks ↑ 87211918
Shadowsocks ↓ 6419324231
Shadowsocks ↑ 6420313423
VMess ↓ 16181819
VMess ↑ 16171819
VMess ↓ 89222121
VMess ↑ 89212021
VMess ↓ 6422353330
VMess ↑ 6427313534
VLESS ↓ 15181718
VLESS ↑ 16171719
VLESS ↓ 88221920
VLESS ↑ 88202020
VLESS ↓ 6420373330
VLESS ↑ 6418303328
Trojan ↓ 15191718
Trojan ↑ 16171718
Trojan ↓ 87211920
Trojan ↑ 88211920
Trojan ↓ 6418343230
Trojan ↑ 6419313430
AnyTLS ↓ 1619—19
AnyTLS ↑ 1518—18
AnyTLS ↓ 81023—22
AnyTLS ↑ 8925—23
AnyTLS ↓ 642444—38
AnyTLS ↑ 642442—38
Hysteria 2 ↓ 16211920
Hysteria 2 ↑ 19221919
Hysteria 2 ↓ 87221921
Hysteria 2 ↑ 813232021
Hysteria 2 ↓ 647302225
Hysteria 2 ↑ 6429362930
TUIC ↓ 1621—19
TUIC ↑ 11021—20
TUIC ↓ 8722—20
TUIC ↑ 81222—21
TUIC ↓ 64830—26
TUIC ↑ 643034—30
WireGuard ↓ 17562237
WireGuard ↑ 11215459213
WireGuard ↓ 871203070
WireGuard ↑ 86218215581
WireGuard ↓ 6412131失敗81
WireGuard ↑ 6412133224198

macOS 27 虛擬機至其主機 · 整個 App,隧道開啟

Mac App

每個 App 都是發佈時的原樣,用規則模式並開啟隧道,在同一部虛擬機內逐一運行。第一行「直接」是背後沒有代理的隧道:也就是 App 本身讓每個連線付出的代價。

  • Pipe 079ed34f
  • Surge Mac 6.12.0
  • FlClash 0.9.3
  • 吞吐量

    55/60

    領先或持平

    46 領先9 持平5 落後

    1.28× 為其他用戶端中最佳者的倍數,按幾何平均計

單是經過隧道,Pipe 在單一下載時傳送 13.8 Gbit/s;Surge Mac 為 7.0,FlClash 為 10.5。八個下載經代理時,它承載 10.8 Gbit/s 的 Trojan,其他用戶端中的最佳者則為 7.3。Surge Mac 不接受 VLESS 代理,它的 WireGuard 在這個測試台上未能完成任何一次運行。

  • 直接

    1. Pipe10,279
    2. Surge Mac6,625
    3. FlClash7,888
  • SOCKS5

    1. Pipe11,354
    2. Surge Mac5,858
    3. FlClash7,313
  • Shadowsocks

    1. Pipe10,936
    2. Surge Mac5,753
    3. FlClash6,897
  • VMess

    1. Pipe10,454
    2. Surge Mac5,672
    3. FlClash6,599
  • VLESS

    1. Pipe10,463
    2. Surge Mac—
    3. FlClash6,311
  • Trojan

    1. Pipe10,756
    2. Surge Mac5,707
    3. FlClash7,327
  • AnyTLS

    1. Pipe10,338
    2. Surge Mac4,741
    3. FlClash7,086
  • Hysteria 2

    1. Pipe1,356
    2. Surge Mac814
    3. FlClash813
  • TUIC

    1. Pipe1,364
    2. Surge Mac848
    3. FlClash811
  • WireGuard

    1. Pipe658
    2. Surge Mac失敗
    3. FlClash609
吞吐量,以 Mbit/s 計,八個下載同時進行。越多越好;每幅圖表各有自己的刻度。

每一項測試

吞吐量: 每項測試中 Pipe 對比其他用戶端中的最佳者 (Mbit/s, 越多越好)
協定下載, 1 條串流下載, 8 條串流下載, 64 條串流上載, 1 條串流上載, 8 條串流上載, 64 條串流
直接+31%13,805+30%10,279+41%8,780+11%14,988+27%13,996+11%10,391
SOCKS5+7%11,131+55%11,354+99%10,561+1%11,189+7%9,749+5%6,526
Shadowsocks+14%10,743+59%10,936+87%10,369−14%9,336+8%9,315+3%6,430
VMess−10%6,787+58%10,454×2.49,312+6%6,030+7%7,875−5%5,237
VLESS+11%10,213+66%10,463×2.69,907+93%5,921+18%7,549+29%5,467
Trojan+11%10,258+47%10,756+96%10,029−8%5,998+2%7,655−5%5,451
AnyTLS+25%8,390+46%10,338+74%9,559−6%8,397+4%8,464+6%6,137
Hysteria 2+24%1,290+67%1,356+50%1,087+3%1,435+5%1,431×2.71,276
TUIC+26%1,317+61%1,364+39%1,032−3%1,423+2%1,398+72%1,411
WireGuard+15%619+8%658+6%639+3%1,324+24%1,378+86%1,352
所有數字 60 項測試 × 3 個用戶端
吞吐量 (Mbit/s, 越多越好)
測試PipeSurge MacFlClash
直接 ↓ 113,8056,96010,505
直接 ↑ 114,98813,4668,284
直接 ↓ 810,2796,6257,888
直接 ↑ 813,99610,9829,800
直接 ↓ 648,7805,6066,229
直接 ↑ 6410,3919,3675,953
SOCKS5 ↓ 111,1316,07310,441
SOCKS5 ↑ 111,18911,0697,062
SOCKS5 ↓ 811,3545,8587,313
SOCKS5 ↑ 89,7499,0907,246
SOCKS5 ↓ 6410,5615,1015,296
SOCKS5 ↑ 646,5266,1915,052
Shadowsocks ↓ 110,7436,1269,394
Shadowsocks ↑ 19,33610,8625,141
Shadowsocks ↓ 810,9365,7536,897
Shadowsocks ↑ 89,3158,5957,159
Shadowsocks ↓ 6410,3695,5335,247
Shadowsocks ↑ 646,4306,2384,216
VMess ↓ 16,7876,0417,523
VMess ↑ 16,0305,6641,414
VMess ↓ 810,4545,6726,599
VMess ↑ 87,8757,3716,641
VMess ↓ 649,312失敗3,845
VMess ↑ 645,2375,5354,225
VLESS ↓ 110,213—9,175
VLESS ↑ 15,921—3,065
VLESS ↓ 810,463—6,311
VLESS ↑ 87,549—6,374
VLESS ↓ 649,907—3,747
VLESS ↑ 645,467—4,232
Trojan ↓ 110,2585,9359,221
Trojan ↑ 15,9986,4993,140
Trojan ↓ 810,7565,7077,327
Trojan ↑ 87,6557,4996,388
Trojan ↓ 6410,029失敗5,127
Trojan ↑ 645,4515,7264,135
AnyTLS ↓ 18,3905,8606,698
AnyTLS ↑ 18,3978,9291,639
AnyTLS ↓ 810,3384,7417,086
AnyTLS ↑ 88,4648,1207,355
AnyTLS ↓ 649,559失敗5,503
AnyTLS ↑ 646,1375,7915,261
Hysteria 2 ↓ 11,2901,042794
Hysteria 2 ↑ 11,4351,388296
Hysteria 2 ↓ 81,356814813
Hysteria 2 ↑ 81,4311,360470
Hysteria 2 ↓ 641,087417725
Hysteria 2 ↑ 641,276失敗477
TUIC ↓ 11,3171,044868
TUIC ↑ 11,4231,466298
TUIC ↓ 81,364848811
TUIC ↑ 81,3981,365446
TUIC ↓ 641,032399745
TUIC ↑ 641,411失敗820
WireGuard ↓ 1619失敗539
WireGuard ↑ 11,324失敗1,283
WireGuard ↓ 8658失敗609
WireGuard ↑ 81,378失敗1,111
WireGuard ↓ 64639失敗605
WireGuard ↑ 641,352失敗725

Galaxy S25 Edge,Android 17 · 以 USB 線連接 Mac

Android App

這裡的鏈路是經 USB 線的 adb,它只承載 TCP,速率約為 2 至 2.8 Gbit/s:大部分測試都觸及這個上限,所以吞吐量往往只能說明「沒有較慢」。真正分出高下的是手機所耗用的資源,而在這方面沒有一項測試是接近的。

  • Pipe aa6b8acf
  • FlClash 0.9.3
  • Surfboard 2.35.2
  • 吞吐量

    33/36

    領先或持平

    23 領先10 持平3 落後

    1.34× 為其他用戶端中最佳者的倍數,按幾何平均計

  • 每 GB 的 CPU

    36/36

    領先或持平

    36 領先0 持平0 落後

    4.45× 少於其他用戶端中的最佳者,按幾何平均計

  • 記憶體

    36/36

    領先或持平

    36 領先0 持平0 落後

    1.69× 少於其他用戶端中的最佳者,按幾何平均計

不論哪種協定,Pipe 每 GiB 都耗用 1.0 至 2.6 CPU 秒。FlClash 和 Surfboard 則耗用 2.8 至 34.6,而且在 Shadowsocks 和 VMess 上,單一串流經兩者任何一個的吞吐量都不到 Pipe 的一半。Pipe 的處理程序佔用 168 至 201 MiB;其他兩者佔用 236 至 523。

  • SOCKS5

    1. Pipe1.04
    2. FlClash3.71
    3. Surfboard3.22
  • Shadowsocks

    1. Pipe1.70
    2. FlClash20.88
    3. Surfboard16.51
  • VMess

    1. Pipe2.23
    2. FlClash22.67
    3. Surfboard20.54
  • VLESS

    1. Pipe1.92
    2. FlClash6.30
    3. Surfboard—
  • Trojan

    1. Pipe1.77
    2. FlClash5.78
    3. Surfboard7.31
  • AnyTLS

    1. Pipe2.12
    2. FlClash5.12
    3. Surfboard7.87
每 GiB 的 CPU 秒數,八個下載同時進行。越少越好;每幅圖表各有自己的刻度。Surfboard 不支援 VLESS。

每一項測試

吞吐量: 每項測試中 Pipe 對比其他用戶端中的最佳者 (Mbit/s, 越多越好)
協定下載, 1 條串流下載, 8 條串流下載, 64 條串流上載, 1 條串流上載, 8 條串流上載, 64 條串流
SOCKS5−3%2,471+2%3,089−8%2,276+19%2,765+2%2,792+2%2,794
Shadowsocks×2.52,590+10%2,795−28%1,858×3.12,668+10%2,715+19%2,731
VMess×4.62,454+12%2,649×2.32,618×2.32,055+11%2,687+17%2,696
VLESS+22%2,566+18%2,762×2.22,779×3.72,687+4%2,732+5%2,717
Trojan+15%2,574−9%2,765×2.02,765+35%2,676+3%2,733+3%2,732
AnyTLS+3%2,606+1%3,071×2.53,132+26%2,669+7%2,697+2%2,720
每 GB 的 CPU: 每項測試中 Pipe 對比其他用戶端中的最佳者 (每 GiB 的 CPU 秒數, 越少越好)
協定下載, 1 條串流下載, 8 條串流下載, 64 條串流上載, 1 條串流上載, 8 條串流上載, 64 條串流
SOCKS5−69%1.13−68%1.04−71%1.06−67%1.06−59%1.13−59%1.27
Shadowsocks−87%1.79−90%1.70−90%1.58−89%1.48−90%1.55−90%1.74
VMess−92%2.18−89%2.23−89%2.62−81%2.43−88%1.94−90%2.02
VLESS−70%1.69−70%1.92−70%1.87−80%1.49−68%1.56−66%1.66
Trojan−72%1.69−69%1.77−68%1.93−71%1.63−67%1.63−68%1.65
AnyTLS−67%2.15−59%2.12−62%2.31−71%1.57−69%1.62−67%1.74
所有數字 36 項測試 × 3 個用戶端
吞吐量 (Mbit/s, 越多越好)
測試PipeFlClashSurfboard
SOCKS5 ↓ 12,4712,5502,427
SOCKS5 ↑ 12,7652,3192,066
SOCKS5 ↓ 83,0893,0312,971
SOCKS5 ↑ 82,7922,7482,664
SOCKS5 ↓ 642,2762,4741,380
SOCKS5 ↑ 642,7942,6882,744
Shadowsocks ↓ 12,5906481,040
Shadowsocks ↑ 12,668312870
Shadowsocks ↓ 82,7952,3922,530
Shadowsocks ↑ 82,7152,0832,476
Shadowsocks ↓ 641,8581,0402,571
Shadowsocks ↑ 642,7311,8562,304
VMess ↓ 12,454524536
VMess ↑ 12,055312895
VMess ↓ 82,6492,3711,655
VMess ↑ 82,6871,9862,429
VMess ↓ 642,6186971,157
VMess ↑ 642,6961,7302,311
VLESS ↓ 12,5662,109—
VLESS ↑ 12,687723—
VLESS ↓ 82,7622,337—
VLESS ↑ 82,7322,633—
VLESS ↓ 642,7791,289—
VLESS ↑ 642,7172,579—
Trojan ↓ 12,5742,1292,244
Trojan ↑ 12,6767411,983
Trojan ↓ 82,7652,3213,023
Trojan ↑ 82,7332,6502,540
Trojan ↓ 642,7651,2811,349
Trojan ↑ 642,7322,5782,656
AnyTLS ↓ 12,6062,5291,901
AnyTLS ↑ 12,6695592,111
AnyTLS ↓ 83,0713,0463,029
AnyTLS ↑ 82,6972,5152,481
AnyTLS ↓ 643,1321,2661,210
AnyTLS ↑ 642,7202,5172,659
每 GB 的 CPU (每 GiB 的 CPU 秒數, 越少越好)
測試PipeFlClashSurfboard
SOCKS5 ↓ 11.133.723.65
SOCKS5 ↑ 11.063.453.21
SOCKS5 ↓ 81.043.713.22
SOCKS5 ↑ 81.133.122.78
SOCKS5 ↓ 641.063.665.26
SOCKS5 ↑ 641.273.113.86
Shadowsocks ↓ 11.7920.5314.00
Shadowsocks ↑ 11.4825.9213.45
Shadowsocks ↓ 81.7020.8816.51
Shadowsocks ↑ 81.5526.1315.42
Shadowsocks ↓ 641.5834.6115.55
Shadowsocks ↑ 641.7424.4216.60
VMess ↓ 12.1827.8025.86
VMess ↑ 12.4326.2213.10
VMess ↓ 82.2322.6720.54
VMess ↑ 81.9425.8916.65
VMess ↓ 642.6229.0122.89
VMess ↑ 642.0229.3519.59
VLESS ↓ 11.695.65—
VLESS ↑ 11.497.31—
VLESS ↓ 81.926.30—
VLESS ↑ 81.564.95—
VLESS ↓ 641.876.20—
VLESS ↑ 641.664.92—
Trojan ↓ 11.695.988.56
Trojan ↑ 11.637.215.67
Trojan ↓ 81.775.787.31
Trojan ↑ 81.635.004.94
Trojan ↓ 641.935.969.37
Trojan ↑ 641.655.156.41
AnyTLS ↓ 12.156.519.57
AnyTLS ↑ 11.578.085.34
AnyTLS ↓ 82.125.127.87
AnyTLS ↑ 81.625.265.22
AnyTLS ↓ 642.316.1411.49
AnyTLS ↑ 641.745.296.18
記憶體 (MiB, 越少越好)
測試PipeFlClashSurfboard
SOCKS5 ↓ 1185487259
SOCKS5 ↑ 1201453244
SOCKS5 ↓ 8170453248
SOCKS5 ↑ 8178454236
SOCKS5 ↓ 64181455246
SOCKS5 ↑ 64177521276
Shadowsocks ↓ 1174510275
Shadowsocks ↑ 1176522268
Shadowsocks ↓ 8169522271
Shadowsocks ↑ 8168522274
Shadowsocks ↓ 64170523251
Shadowsocks ↑ 64179498254
VMess ↓ 1175496286
VMess ↑ 1171498293
VMess ↓ 8173499282
VMess ↑ 8177499284
VMess ↓ 64178499289
VMess ↑ 64193493293
VLESS ↓ 1175492—
VLESS ↑ 1177494—
VLESS ↓ 8180494—
VLESS ↑ 8183494—
VLESS ↓ 64171495—
VLESS ↑ 64181490—
Trojan ↓ 1180493284
Trojan ↑ 1183491288
Trojan ↓ 8173491290
Trojan ↑ 8172491293
Trojan ↓ 64173492284
Trojan ↑ 64187496279
AnyTLS ↓ 1175502273
AnyTLS ↑ 1176497276
AnyTLS ↓ 8178497279
AnyTLS ↑ 8181497281
AnyTLS ↓ 64185498273
AnyTLS ↑ 64193506270

iPhone 15 Pro,iOS 27.2 · 以 USB 線連接 Mac

iPhone App

最難解讀的測試台。iPhone 給隧道的是一個小處理程序和約 50 MiB;單一上載對每個用戶端來說都只用得上一個節能核心;發熱後的手機,吞吐量比靜置過的少三分之一。每個用戶端只測了一輪。

  • Pipe aa6b8acf
  • Surge 6.100.0
  • Clash 1.0.9
  • 吞吐量

    38/54

    領先或持平

    27 領先11 持平16 落後

    1.12× 為其他用戶端中最佳者的倍數,按幾何平均計

對比 Surge,Pipe 在大部分 VMess、AnyTLS、Hysteria 2 和 TUIC 測試中領先,在六項 Trojan 測試中有五項領先或持平,在 SOCKS5 上互有勝負,在大部分 Shadowsocks 和 VLESS 測試中則低於它。對比 Clash,凡是雙方都完成的測試它全部領先,只有 WireGuard 的下載例外,在那裡落後約一成。Surge 的 WireGuard 未能完成任何一次運行,而 Clash 的延伸功能在六十四條 VMess 和 VLESS 串流時停止運作,所以它的 Trojan 和 AnyTLS 測試無法進行。

每一項測試

吞吐量: 每項測試中 Pipe 對比其他用戶端中的最佳者 (Mbit/s, 越多越好)
協定下載, 1 條串流下載, 8 條串流下載, 64 條串流上載, 1 條串流上載, 8 條串流上載, 64 條串流
SOCKS5+1%5,486+6%6,139+6%5,203−6%1,795−5%4,285−2%3,360
Shadowsocks−5%4,396−9%3,648−5%2,907+2%1,776−4%2,498−7%2,463
VMess+21%3,655+14%3,884+22%3,460+14%1,852−18%2,232+1%2,357
VLESS+4%4,196−11%5,663−6%4,572−30%1,181−4%3,889−13%2,690
Trojan+10%3,919+3%4,029−9%3,124+11%1,807+5%2,799−2%2,466
AnyTLS+50%4,201+3%3,748+25%1,815+20%1,823+6%2,520+24%3,261
Hysteria 2−9%1,308+9%1,277×2.31,433+13%1,488+9%1,451+12%1,439
TUIC−5%1,296+41%1,410×2.91,533+25%1,458+17%1,431+16%1,366
WireGuard−11%659−14%651−8%636+71%998×2.01,061×4.0970
所有數字 54 項測試 × 3 個用戶端
吞吐量 (Mbit/s, 越多越好)
測試PipeSurgeClash
SOCKS5 ↓ 15,4865,4084,338
SOCKS5 ↑ 11,7951,9151,453
SOCKS5 ↓ 86,1395,7723,924
SOCKS5 ↑ 84,2854,5201,347
SOCKS5 ↓ 645,2034,9042,964
SOCKS5 ↑ 643,3603,428253
Shadowsocks ↓ 14,3964,6491,292
Shadowsocks ↑ 11,7761,7431,348
Shadowsocks ↓ 83,6484,0061,171
Shadowsocks ↑ 82,4982,5941,257
Shadowsocks ↓ 642,9073,066907
Shadowsocks ↑ 642,4632,644251
VMess ↓ 13,6553,0251,911
VMess ↑ 11,8521,630869
VMess ↓ 83,8843,4151,723
VMess ↑ 82,2322,725742
VMess ↓ 643,4602,837失敗
VMess ↑ 642,3572,325失敗
VLESS ↓ 14,1964,0332,068
VLESS ↑ 11,1811,682959
VLESS ↓ 85,6636,3381,946
VLESS ↑ 83,8894,049729
VLESS ↓ 644,5724,879失敗
VLESS ↑ 642,6903,108失敗
Trojan ↓ 13,9193,575失敗
Trojan ↑ 11,8071,629失敗
Trojan ↓ 84,0293,908失敗
Trojan ↑ 82,7992,655失敗
Trojan ↓ 643,1243,442失敗
Trojan ↑ 642,4662,528失敗
AnyTLS ↓ 14,2012,801失敗
AnyTLS ↑ 11,8231,521失敗
AnyTLS ↓ 83,7483,647失敗
AnyTLS ↑ 82,5202,370失敗
AnyTLS ↓ 641,8151,451失敗
AnyTLS ↑ 643,2612,639失敗
Hysteria 2 ↓ 11,3081,440291
Hysteria 2 ↑ 11,4881,316166
Hysteria 2 ↓ 81,2771,169289
Hysteria 2 ↑ 81,4511,334174
Hysteria 2 ↓ 641,433611255
Hysteria 2 ↑ 641,4391,288173
TUIC ↓ 11,2961,364311
TUIC ↑ 11,4581,169188
TUIC ↓ 81,4101,002288
TUIC ↑ 81,4311,219190
TUIC ↓ 641,533524262
TUIC ↑ 641,3661,179188
WireGuard ↓ 1659失敗744
WireGuard ↑ 1998失敗582
WireGuard ↓ 8651失敗753
WireGuard ↑ 81,061失敗522
WireGuard ↓ 64636失敗690
WireGuard ↑ 64970失敗240

Pipe 落後之處

全部 24 項。大部分只是一次十秒的讀數,而在手機上,同一項測試先後兩次之間的波動已大於這些差距。每一項都在我們的待辦清單上。

Pipe 比其他用戶端中的最佳者低 5% 以上的每一項吞吐量測試 (Mbit/s)
測試台測試Pipe其他最佳差距
Mac AppShadowsocks ↑ 19,33610,862 Surge Mac−14%
Mac AppVMess ↓ 16,7877,523 FlClash−10%
Mac AppVMess ↑ 645,2375,535 Surge Mac−5%
Mac AppTrojan ↑ 15,9986,499 Surge Mac−8%
Mac AppAnyTLS ↑ 18,3978,929 Surge Mac−6%
Android AppSOCKS5 ↓ 642,2762,474 FlClash−8%
Android AppShadowsocks ↓ 641,8582,571 Surfboard−28%
Android AppTrojan ↓ 82,7653,023 Surfboard−9%
iPhone AppSOCKS5 ↑ 11,7951,915 Surge−6%
iPhone AppSOCKS5 ↑ 84,2854,520 Surge−5%
iPhone AppShadowsocks ↓ 14,3964,649 Surge−5%
iPhone AppShadowsocks ↓ 83,6484,006 Surge−9%
iPhone AppShadowsocks ↓ 642,9073,066 Surge−5%
iPhone AppShadowsocks ↑ 642,4632,644 Surge−7%
iPhone AppVMess ↑ 82,2322,725 Surge−18%
iPhone AppVLESS ↑ 11,1811,682 Surge−30%
iPhone AppVLESS ↓ 85,6636,338 Surge−11%
iPhone AppVLESS ↓ 644,5724,879 Surge−6%
iPhone AppVLESS ↑ 642,6903,108 Surge−13%
iPhone AppTrojan ↓ 643,1243,442 Surge−9%
iPhone AppHysteria 2 ↓ 11,3081,440 Surge−9%
iPhone AppWireGuard ↓ 1659744 Clash−11%
iPhone AppWireGuard ↓ 8651753 Clash−14%
iPhone AppWireGuard ↓ 64636690 Clash−8%

吞吐量以外,引擎在單一串流的 Shadowsocks 上,兩個方向耗用的 CPU 都比 sing-box 多,在六十四個 WireGuard 上載時佔用的記憶體也比 mihomo 多。這三項測試都在上面引擎的方格圖裡。

為何這樣快

這裡沒有任何一項是測試台造成的假象。每一項慢的測試都會追查到原因,而大部分原因原來都很小:Pipe 交給對端的是甚麼,以及它在兩次突發之間做些甚麼。

  • 線路上只有完整的區塊

    代理伺服器會把收到的每一個區塊打開再轉發。Shadowsocks 的區塊、AnyTLS 的訊框和 TLS 的記錄,現在離開 Pipe 時都剛好是填滿一個的大小,不會是一整塊再加一小片,所以伺服器每 GB 要做的工夫更少。

  • 快速路徑上沒有共用的東西

    不會為每個封包取一次鎖,讀取記憶體預算也不用鎖,每條資料流的緩衝區會一直跟着它,直到它靜止十毫秒為止,而不是每逢空檔就歸還。

  • 自家的 TCP/IP 堆疊

    隧道的流量遇上的是專為這份工作而寫的堆疊:視窗按裝置定大小,確認成批發出,在系統容許之處,封包成批讀寫。

  • 沒有執行階段擋路

    Rust 直接編譯成機器碼,沒有垃圾回收器,所以無需為回收而停頓,也沒有第二個堆積要增長。一個 GB 所耗的 CPU 就是加密和系統呼叫,此外所餘無幾。

方法

四條原則,本頁的一切都由此而來。

  1. 同一件儀器。 每一個吞吐量數字都是一次 iperf3 運行:TCP,略去開頭兩秒後量度十秒,取接收端的 Mbit/s。負載產生器位於每個用戶端之外,對所有用戶端都是同一個。
  2. 只有用戶端在變。 同一個固定版本的伺服器(sing-box 1.14.4)、同一條鏈路、同一份測試清單。每個用戶端都按發佈時的原樣運行,用它自己的預設值;沒有一個經過調校,Pipe 也沒有別人沒有的開關。
  3. 一切都保留。 每一次運行都是記錄檔裡的一行,失敗的也一樣;本頁每一個數字、圖表和表格,都由腳本從那份記錄檔寫出。用戶端不支援某種協定時留下破折號;無法完成測試時則標示為失敗。
  4. 落敗的也列出。 Pipe 落敗的測試,仍然留在表格和統計之中。

測試台

引擎
單獨一部 MacBook Pro(M1 Max,macOS 27.2),經 loopback。每個引擎是一個帶轉發連接埠的處理程序;CPU 秒數和記憶體峰值從處理程序之外讀取。
Mac App
同一部 Mac 上的 macOS 27.2 虛擬機(10 個核心),而那部 Mac 同時充當對端。虛擬機與伺服器共用主機的核心,所以這些數字用來為各個 App 排名,並非一部獨立 Mac 所能達到的水平。
Android App
運行 Android 17 的 Galaxy S25 Edge,以 USB 線連接到 Mac,鏈路由 adb 承載。iperf3 以一個 App 自己的身分在手機上運行,位於每個用戶端的隧道之內。CPU 和記憶體從手機讀取。
iPhone App
運行 iOS 27.2 的 iPhone 15 Pro,以 USB 線連接到 Mac。負載由我們一個內含原版 libiperf 的小 App 產生,對每個用戶端都是同一個二進位檔,並位於所有用戶端之外。

引用數字前請先讀這裡

  • 這些是實驗室鏈路,不是互聯網。它們在同一部機器上為用戶端排名,並非你的連線會有的速度。
  • 大部分測試只有一次十秒的讀數。在手機上,單是熱力就足以令同一項測試先後兩次相差三分之一,所以單獨一個接近的結果說明不了甚麼;整個測試台上的規律更有意義。
  • Pipe 是上文列明的 2026年11月14日 組建版本;各個 App 從由它切出的第一個發行版本起帶有這些數字。其他用戶端是上文列明的版本,即其作者發佈的原樣。iPhone 上的 Clash 由其公開原始碼組建,只作了一處改動:把代理綁定到 USB 線上。
  • 這裡量度的只有大量傳輸的吞吐量及其代價。延遲、一整天的電池續航,以及網絡切換後的恢復,都不在其內。
  • 其他產品的名稱屬其各自擁有者所有。本頁內容未獲他們背書,每一個數字都是我們在自己的測試台上自行量度的結果。