基準測試報告 · 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% 以內為持平,再低則為落後。
吞吐量,逐項測試
每項測試中,Pipe 對比其他用戶端中的最佳者。相差 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
Shadowsocks
VMess
VLESS
Trojan
AnyTLS
Hysteria 2
TUIC
WireGuard
它佔用多少
同一項測試期間的記憶體峰值。Pipe 沒有垃圾回收器,每一個緩衝區都從同一份預算中租用,所以它的佔用量隨工作量而定:單一下載時 5 MiB,六十四個下載時 11。
SOCKS5
Shadowsocks
VMess
VLESS
Trojan
AnyTLS
Hysteria 2
TUIC
WireGuard
它有多快
在 loopback 上,單一串流時最快的幾種協定受限於伺服器,所以幾個引擎在那裡讀數相若,要靠 CPU 才分得出高下。八條串流時,引擎本身才是極限:Pipe 承載 9.1 Gbit/s 的 Shadowsocks,其他引擎中的最佳者則為 6.0。
SOCKS5
Shadowsocks
VMess
VLESS
Trojan
AnyTLS
Hysteria 2
TUIC
WireGuard
每一項測試
每個方格是一項測試:Pipe 的數字,以及它與其他用戶端中最佳者的差距。箭嘴表示方向,旁邊的數字是串流數目。
領先持平落後
| 協定 | 下載, 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 |
| 協定 | 下載, 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 |
| 協定 | 下載, 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 個用戶端
| 測試 | Pipe | sing-box | Xray | mihomo |
|---|---|---|---|---|
| SOCKS5 ↓ 1 | 11,194 | 7,688 | 10,726 | 10,200 |
| SOCKS5 ↑ 1 | 9,907 | 7,713 | 9,403 | 8,842 |
| SOCKS5 ↓ 8 | 10,631 | 6,522 | 6,581 | 5,511 |
| SOCKS5 ↑ 8 | 9,725 | 6,476 | 6,710 | 6,556 |
| SOCKS5 ↓ 64 | 8,432 | 7,834 | 8,233 | 8,087 |
| SOCKS5 ↑ 64 | 8,498 | 7,705 | 8,099 | 8,117 |
| Shadowsocks ↓ 1 | 10,822 | 10,777 | 10,939 | 11,182 |
| Shadowsocks ↑ 1 | 10,607 | 9,450 | 6,905 | 9,193 |
| Shadowsocks ↓ 8 | 9,074 | 5,261 | 4,902 | 5,958 |
| Shadowsocks ↑ 8 | 9,050 | 6,222 | 5,294 | 6,993 |
| Shadowsocks ↓ 64 | 7,686 | 7,872 | 7,811 | 7,639 |
| Shadowsocks ↑ 64 | 7,784 | 7,325 | 6,121 | 7,625 |
| VMess ↓ 1 | 7,603 | 7,832 | 7,400 | 7,818 |
| VMess ↑ 1 | 8,583 | 7,754 | 4,998 | 6,985 |
| VMess ↓ 8 | 8,791 | 5,570 | 6,942 | 6,315 |
| VMess ↑ 8 | 8,519 | 5,578 | 4,719 | 6,185 |
| VMess ↓ 64 | 7,736 | 6,696 | 7,207 | 7,207 |
| VMess ↑ 64 | 7,897 | 7,079 | 6,043 | 7,116 |
| VLESS ↓ 1 | 7,603 | 7,452 | 6,723 | 7,049 |
| VLESS ↑ 1 | 8,582 | 7,001 | 7,279 | 6,869 |
| VLESS ↓ 8 | 7,314 | 5,148 | 4,629 | 5,163 |
| VLESS ↑ 8 | 6,951 | 5,124 | 4,891 | 5,332 |
| VLESS ↓ 64 | 7,510 | 6,825 | 6,335 | 6,961 |
| VLESS ↑ 64 | 7,700 | 6,840 | 6,205 | 6,867 |
| Trojan ↓ 1 | 7,564 | 7,023 | 6,738 | 6,967 |
| Trojan ↑ 1 | 8,658 | 6,926 | 6,870 | 6,816 |
| Trojan ↓ 8 | 7,322 | 5,121 | 4,603 | 5,221 |
| Trojan ↑ 8 | 7,018 | 5,122 | 4,929 | 5,295 |
| Trojan ↓ 64 | 7,432 | 6,929 | 6,574 | 6,182 |
| Trojan ↑ 64 | 7,621 | 6,477 | 6,386 | 7,033 |
| AnyTLS ↓ 1 | 6,501 | 6,826 | — | 6,580 |
| AnyTLS ↑ 1 | 11,663 | 6,763 | — | 5,973 |
| AnyTLS ↓ 8 | 6,849 | 5,182 | — | 4,936 |
| AnyTLS ↑ 8 | 8,189 | 5,150 | — | 4,779 |
| AnyTLS ↓ 64 | 7,151 | 6,961 | — | 6,743 |
| AnyTLS ↑ 64 | 7,716 | 6,948 | — | 6,642 |
| Hysteria 2 ↓ 1 | 1,207 | 1,098 | 983 | 991 |
| Hysteria 2 ↑ 1 | 1,901 | 1,796 | 716 | 733 |
| Hysteria 2 ↓ 8 | 1,266 | 685 | 681 | 684 |
| Hysteria 2 ↑ 8 | 1,847 | 879 | 620 | 652 |
| Hysteria 2 ↓ 64 | 778 | 674 | 664 | 670 |
| Hysteria 2 ↑ 64 | 1,840 | 742 | 604 | 624 |
| TUIC ↓ 1 | 1,217 | 1,135 | — | 999 |
| TUIC ↑ 1 | 1,884 | 1,836 | — | 732 |
| TUIC ↓ 8 | 1,329 | 697 | — | 674 |
| TUIC ↑ 8 | 1,860 | 852 | — | 659 |
| TUIC ↓ 64 | 914 | 678 | — | 674 |
| TUIC ↑ 64 | 1,853 | 741 | — | 636 |
| WireGuard ↓ 1 | 764 | 555 | 507 | 589 |
| WireGuard ↑ 1 | 1,673 | 1,258 | 626 | 1,500 |
| WireGuard ↓ 8 | 762 | 489 | 427 | 549 |
| WireGuard ↑ 8 | 1,436 | 1,080 | 499 | 440 |
| WireGuard ↓ 64 | 690 | 498 | 失敗 | 552 |
| WireGuard ↑ 64 | 1,498 | 1,046 | 495 | 286 |
| 測試 | Pipe | sing-box | Xray | mihomo |
|---|---|---|---|---|
| SOCKS5 ↓ 1 | 0.61 | 1.01 | 0.76 | 0.81 |
| SOCKS5 ↑ 1 | 0.66 | 0.90 | 0.84 | 0.88 |
| SOCKS5 ↓ 8 | 0.68 | 1.30 | 1.53 | 1.60 |
| SOCKS5 ↑ 8 | 0.71 | 1.26 | 1.31 | 1.23 |
| SOCKS5 ↓ 64 | 0.56 | 0.58 | 0.75 | 0.77 |
| SOCKS5 ↑ 64 | 0.45 | 0.58 | 0.55 | 0.68 |
| Shadowsocks ↓ 1 | 0.82 | 0.75 | 0.85 | 1.53 |
| Shadowsocks ↑ 1 | 0.72 | 0.47 | 0.68 | 0.88 |
| Shadowsocks ↓ 8 | 1.03 | 2.09 | 2.11 | 2.22 |
| Shadowsocks ↑ 8 | 0.96 | 1.61 | 1.54 | 1.40 |
| Shadowsocks ↓ 64 | 0.78 | 0.84 | 0.89 | 1.52 |
| Shadowsocks ↑ 64 | 0.69 | 0.87 | 1.05 | 0.80 |
| VMess ↓ 1 | 1.18 | 1.17 | 1.59 | 1.26 |
| VMess ↑ 1 | 0.67 | 1.23 | 1.89 | 1.11 |
| VMess ↓ 8 | 1.36 | 1.97 | 1.69 | 1.92 |
| VMess ↑ 8 | 1.10 | 1.90 | 2.35 | 1.79 |
| VMess ↓ 64 | 1.14 | 1.15 | 1.24 | 1.16 |
| VMess ↑ 64 | 0.88 | 0.98 | 1.43 | 1.18 |
| VLESS ↓ 1 | 1.08 | 1.27 | 1.31 | 1.26 |
| VLESS ↑ 1 | 0.42 | 1.44 | 0.90 | 1.47 |
| VLESS ↓ 8 | 1.20 | 2.12 | 2.11 | 2.13 |
| VLESS ↑ 8 | 0.86 | 2.13 | 1.95 | 2.06 |
| VLESS ↓ 64 | 0.97 | 1.13 | 1.19 | 1.07 |
| VLESS ↑ 64 | 0.69 | 1.02 | 1.09 | 1.01 |
| Trojan ↓ 1 | 1.08 | 1.26 | 1.32 | 1.26 |
| Trojan ↑ 1 | 0.42 | 1.33 | 1.18 | 1.47 |
| Trojan ↓ 8 | 1.30 | 1.96 | 2.33 | 2.11 |
| Trojan ↑ 8 | 0.92 | 2.12 | 1.95 | 2.06 |
| Trojan ↓ 64 | 0.96 | 1.08 | 1.19 | 1.23 |
| Trojan ↑ 64 | 0.70 | 0.97 | 1.05 | 0.91 |
| AnyTLS ↓ 1 | 1.55 | 1.71 | — | 1.82 |
| AnyTLS ↑ 1 | 0.47 | 1.65 | — | 1.66 |
| AnyTLS ↓ 8 | 1.57 | 2.55 | — | 2.99 |
| AnyTLS ↑ 8 | 1.08 | 2.48 | — | 2.64 |
| AnyTLS ↓ 64 | 1.10 | 1.54 | — | 1.78 |
| AnyTLS ↑ 64 | 0.77 | 1.14 | — | 1.15 |
| Hysteria 2 ↓ 1 | 6.68 | 15.20 | 23.58 | 23.39 |
| Hysteria 2 ↑ 1 | 5.49 | 7.91 | 28.56 | 27.60 |
| Hysteria 2 ↓ 8 | 6.11 | 26.47 | 34.26 | 33.67 |
| Hysteria 2 ↑ 8 | 6.04 | 10.49 | 22.98 | 22.14 |
| Hysteria 2 ↓ 64 | 14.72 | 29.69 | 35.07 | 34.40 |
| Hysteria 2 ↑ 64 | 5.71 | 9.58 | 22.75 | 19.89 |
| TUIC ↓ 1 | 6.07 | 16.11 | — | 25.17 |
| TUIC ↑ 1 | 5.75 | 7.78 | — | 25.57 |
| TUIC ↓ 8 | 5.68 | 26.46 | — | 33.97 |
| TUIC ↑ 8 | 5.93 | 10.58 | — | 24.32 |
| TUIC ↓ 64 | 13.35 | 29.40 | — | 31.51 |
| TUIC ↑ 64 | 5.58 | 9.50 | — | 19.34 |
| WireGuard ↓ 1 | 8.59 | 41.36 | 50.25 | 39.56 |
| WireGuard ↑ 1 | 5.56 | 26.85 | 32.18 | 13.79 |
| WireGuard ↓ 8 | 8.52 | 51.46 | 64.40 | 43.14 |
| WireGuard ↑ 8 | 6.46 | 25.80 | 47.59 | 40.18 |
| WireGuard ↓ 64 | 12.93 | 49.61 | 失敗 | 49.14 |
| WireGuard ↑ 64 | 5.97 | 19.62 | 37.29 | 42.28 |
| 測試 | Pipe | sing-box | Xray | mihomo |
|---|---|---|---|---|
| SOCKS5 ↓ 1 | 5 | 20 | 16 | 19 |
| SOCKS5 ↑ 1 | 5 | 19 | 16 | 18 |
| SOCKS5 ↓ 8 | 6 | 26 | 17 | 19 |
| SOCKS5 ↑ 8 | 6 | 27 | 18 | 19 |
| SOCKS5 ↓ 64 | 11 | 66 | 26 | 21 |
| SOCKS5 ↑ 64 | 11 | 65 | 28 | 22 |
| Shadowsocks ↓ 1 | 5 | 18 | 17 | 21 |
| Shadowsocks ↑ 1 | 5 | 18 | 16 | 17 |
| Shadowsocks ↓ 8 | 8 | 23 | 19 | 40 |
| Shadowsocks ↑ 8 | 7 | 21 | 19 | 18 |
| Shadowsocks ↓ 64 | 19 | 32 | 42 | 31 |
| Shadowsocks ↑ 64 | 20 | 31 | 34 | 23 |
| VMess ↓ 1 | 6 | 18 | 18 | 19 |
| VMess ↑ 1 | 6 | 17 | 18 | 19 |
| VMess ↓ 8 | 9 | 22 | 21 | 21 |
| VMess ↑ 8 | 9 | 21 | 20 | 21 |
| VMess ↓ 64 | 22 | 35 | 33 | 30 |
| VMess ↑ 64 | 27 | 31 | 35 | 34 |
| VLESS ↓ 1 | 5 | 18 | 17 | 18 |
| VLESS ↑ 1 | 6 | 17 | 17 | 19 |
| VLESS ↓ 8 | 8 | 22 | 19 | 20 |
| VLESS ↑ 8 | 8 | 20 | 20 | 20 |
| VLESS ↓ 64 | 20 | 37 | 33 | 30 |
| VLESS ↑ 64 | 18 | 30 | 33 | 28 |
| Trojan ↓ 1 | 5 | 19 | 17 | 18 |
| Trojan ↑ 1 | 6 | 17 | 17 | 18 |
| Trojan ↓ 8 | 7 | 21 | 19 | 20 |
| Trojan ↑ 8 | 8 | 21 | 19 | 20 |
| Trojan ↓ 64 | 18 | 34 | 32 | 30 |
| Trojan ↑ 64 | 19 | 31 | 34 | 30 |
| AnyTLS ↓ 1 | 6 | 19 | — | 19 |
| AnyTLS ↑ 1 | 5 | 18 | — | 18 |
| AnyTLS ↓ 8 | 10 | 23 | — | 22 |
| AnyTLS ↑ 8 | 9 | 25 | — | 23 |
| AnyTLS ↓ 64 | 24 | 44 | — | 38 |
| AnyTLS ↑ 64 | 24 | 42 | — | 38 |
| Hysteria 2 ↓ 1 | 6 | 21 | 19 | 20 |
| Hysteria 2 ↑ 1 | 9 | 22 | 19 | 19 |
| Hysteria 2 ↓ 8 | 7 | 22 | 19 | 21 |
| Hysteria 2 ↑ 8 | 13 | 23 | 20 | 21 |
| Hysteria 2 ↓ 64 | 7 | 30 | 22 | 25 |
| Hysteria 2 ↑ 64 | 29 | 36 | 29 | 30 |
| TUIC ↓ 1 | 6 | 21 | — | 19 |
| TUIC ↑ 1 | 10 | 21 | — | 20 |
| TUIC ↓ 8 | 7 | 22 | — | 20 |
| TUIC ↑ 8 | 12 | 22 | — | 21 |
| TUIC ↓ 64 | 8 | 30 | — | 26 |
| TUIC ↑ 64 | 30 | 34 | — | 30 |
| WireGuard ↓ 1 | 7 | 56 | 22 | 37 |
| WireGuard ↑ 1 | 12 | 154 | 59 | 213 |
| WireGuard ↓ 8 | 7 | 120 | 30 | 70 |
| WireGuard ↑ 8 | 62 | 182 | 155 | 81 |
| WireGuard ↓ 64 | 12 | 131 | 失敗 | 81 |
| WireGuard ↑ 64 | 121 | 332 | 241 | 98 |
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 在這個測試台上未能完成任何一次運行。
直接
SOCKS5
Shadowsocks
VMess
VLESS
Trojan
AnyTLS
Hysteria 2
TUIC
WireGuard
每一項測試
| 協定 | 下載, 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 個用戶端
| 測試 | Pipe | Surge Mac | FlClash |
|---|---|---|---|
| 直接 ↓ 1 | 13,805 | 6,960 | 10,505 |
| 直接 ↑ 1 | 14,988 | 13,466 | 8,284 |
| 直接 ↓ 8 | 10,279 | 6,625 | 7,888 |
| 直接 ↑ 8 | 13,996 | 10,982 | 9,800 |
| 直接 ↓ 64 | 8,780 | 5,606 | 6,229 |
| 直接 ↑ 64 | 10,391 | 9,367 | 5,953 |
| SOCKS5 ↓ 1 | 11,131 | 6,073 | 10,441 |
| SOCKS5 ↑ 1 | 11,189 | 11,069 | 7,062 |
| SOCKS5 ↓ 8 | 11,354 | 5,858 | 7,313 |
| SOCKS5 ↑ 8 | 9,749 | 9,090 | 7,246 |
| SOCKS5 ↓ 64 | 10,561 | 5,101 | 5,296 |
| SOCKS5 ↑ 64 | 6,526 | 6,191 | 5,052 |
| Shadowsocks ↓ 1 | 10,743 | 6,126 | 9,394 |
| Shadowsocks ↑ 1 | 9,336 | 10,862 | 5,141 |
| Shadowsocks ↓ 8 | 10,936 | 5,753 | 6,897 |
| Shadowsocks ↑ 8 | 9,315 | 8,595 | 7,159 |
| Shadowsocks ↓ 64 | 10,369 | 5,533 | 5,247 |
| Shadowsocks ↑ 64 | 6,430 | 6,238 | 4,216 |
| VMess ↓ 1 | 6,787 | 6,041 | 7,523 |
| VMess ↑ 1 | 6,030 | 5,664 | 1,414 |
| VMess ↓ 8 | 10,454 | 5,672 | 6,599 |
| VMess ↑ 8 | 7,875 | 7,371 | 6,641 |
| VMess ↓ 64 | 9,312 | 失敗 | 3,845 |
| VMess ↑ 64 | 5,237 | 5,535 | 4,225 |
| VLESS ↓ 1 | 10,213 | — | 9,175 |
| VLESS ↑ 1 | 5,921 | — | 3,065 |
| VLESS ↓ 8 | 10,463 | — | 6,311 |
| VLESS ↑ 8 | 7,549 | — | 6,374 |
| VLESS ↓ 64 | 9,907 | — | 3,747 |
| VLESS ↑ 64 | 5,467 | — | 4,232 |
| Trojan ↓ 1 | 10,258 | 5,935 | 9,221 |
| Trojan ↑ 1 | 5,998 | 6,499 | 3,140 |
| Trojan ↓ 8 | 10,756 | 5,707 | 7,327 |
| Trojan ↑ 8 | 7,655 | 7,499 | 6,388 |
| Trojan ↓ 64 | 10,029 | 失敗 | 5,127 |
| Trojan ↑ 64 | 5,451 | 5,726 | 4,135 |
| AnyTLS ↓ 1 | 8,390 | 5,860 | 6,698 |
| AnyTLS ↑ 1 | 8,397 | 8,929 | 1,639 |
| AnyTLS ↓ 8 | 10,338 | 4,741 | 7,086 |
| AnyTLS ↑ 8 | 8,464 | 8,120 | 7,355 |
| AnyTLS ↓ 64 | 9,559 | 失敗 | 5,503 |
| AnyTLS ↑ 64 | 6,137 | 5,791 | 5,261 |
| Hysteria 2 ↓ 1 | 1,290 | 1,042 | 794 |
| Hysteria 2 ↑ 1 | 1,435 | 1,388 | 296 |
| Hysteria 2 ↓ 8 | 1,356 | 814 | 813 |
| Hysteria 2 ↑ 8 | 1,431 | 1,360 | 470 |
| Hysteria 2 ↓ 64 | 1,087 | 417 | 725 |
| Hysteria 2 ↑ 64 | 1,276 | 失敗 | 477 |
| TUIC ↓ 1 | 1,317 | 1,044 | 868 |
| TUIC ↑ 1 | 1,423 | 1,466 | 298 |
| TUIC ↓ 8 | 1,364 | 848 | 811 |
| TUIC ↑ 8 | 1,398 | 1,365 | 446 |
| TUIC ↓ 64 | 1,032 | 399 | 745 |
| TUIC ↑ 64 | 1,411 | 失敗 | 820 |
| WireGuard ↓ 1 | 619 | 失敗 | 539 |
| WireGuard ↑ 1 | 1,324 | 失敗 | 1,283 |
| WireGuard ↓ 8 | 658 | 失敗 | 609 |
| WireGuard ↑ 8 | 1,378 | 失敗 | 1,111 |
| WireGuard ↓ 64 | 639 | 失敗 | 605 |
| WireGuard ↑ 64 | 1,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
Shadowsocks
VMess
VLESS
Trojan
AnyTLS
每一項測試
| 協定 | 下載, 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 |
| 協定 | 下載, 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 個用戶端
| 測試 | Pipe | FlClash | Surfboard |
|---|---|---|---|
| SOCKS5 ↓ 1 | 2,471 | 2,550 | 2,427 |
| SOCKS5 ↑ 1 | 2,765 | 2,319 | 2,066 |
| SOCKS5 ↓ 8 | 3,089 | 3,031 | 2,971 |
| SOCKS5 ↑ 8 | 2,792 | 2,748 | 2,664 |
| SOCKS5 ↓ 64 | 2,276 | 2,474 | 1,380 |
| SOCKS5 ↑ 64 | 2,794 | 2,688 | 2,744 |
| Shadowsocks ↓ 1 | 2,590 | 648 | 1,040 |
| Shadowsocks ↑ 1 | 2,668 | 312 | 870 |
| Shadowsocks ↓ 8 | 2,795 | 2,392 | 2,530 |
| Shadowsocks ↑ 8 | 2,715 | 2,083 | 2,476 |
| Shadowsocks ↓ 64 | 1,858 | 1,040 | 2,571 |
| Shadowsocks ↑ 64 | 2,731 | 1,856 | 2,304 |
| VMess ↓ 1 | 2,454 | 524 | 536 |
| VMess ↑ 1 | 2,055 | 312 | 895 |
| VMess ↓ 8 | 2,649 | 2,371 | 1,655 |
| VMess ↑ 8 | 2,687 | 1,986 | 2,429 |
| VMess ↓ 64 | 2,618 | 697 | 1,157 |
| VMess ↑ 64 | 2,696 | 1,730 | 2,311 |
| VLESS ↓ 1 | 2,566 | 2,109 | — |
| VLESS ↑ 1 | 2,687 | 723 | — |
| VLESS ↓ 8 | 2,762 | 2,337 | — |
| VLESS ↑ 8 | 2,732 | 2,633 | — |
| VLESS ↓ 64 | 2,779 | 1,289 | — |
| VLESS ↑ 64 | 2,717 | 2,579 | — |
| Trojan ↓ 1 | 2,574 | 2,129 | 2,244 |
| Trojan ↑ 1 | 2,676 | 741 | 1,983 |
| Trojan ↓ 8 | 2,765 | 2,321 | 3,023 |
| Trojan ↑ 8 | 2,733 | 2,650 | 2,540 |
| Trojan ↓ 64 | 2,765 | 1,281 | 1,349 |
| Trojan ↑ 64 | 2,732 | 2,578 | 2,656 |
| AnyTLS ↓ 1 | 2,606 | 2,529 | 1,901 |
| AnyTLS ↑ 1 | 2,669 | 559 | 2,111 |
| AnyTLS ↓ 8 | 3,071 | 3,046 | 3,029 |
| AnyTLS ↑ 8 | 2,697 | 2,515 | 2,481 |
| AnyTLS ↓ 64 | 3,132 | 1,266 | 1,210 |
| AnyTLS ↑ 64 | 2,720 | 2,517 | 2,659 |
| 測試 | Pipe | FlClash | Surfboard |
|---|---|---|---|
| SOCKS5 ↓ 1 | 1.13 | 3.72 | 3.65 |
| SOCKS5 ↑ 1 | 1.06 | 3.45 | 3.21 |
| SOCKS5 ↓ 8 | 1.04 | 3.71 | 3.22 |
| SOCKS5 ↑ 8 | 1.13 | 3.12 | 2.78 |
| SOCKS5 ↓ 64 | 1.06 | 3.66 | 5.26 |
| SOCKS5 ↑ 64 | 1.27 | 3.11 | 3.86 |
| Shadowsocks ↓ 1 | 1.79 | 20.53 | 14.00 |
| Shadowsocks ↑ 1 | 1.48 | 25.92 | 13.45 |
| Shadowsocks ↓ 8 | 1.70 | 20.88 | 16.51 |
| Shadowsocks ↑ 8 | 1.55 | 26.13 | 15.42 |
| Shadowsocks ↓ 64 | 1.58 | 34.61 | 15.55 |
| Shadowsocks ↑ 64 | 1.74 | 24.42 | 16.60 |
| VMess ↓ 1 | 2.18 | 27.80 | 25.86 |
| VMess ↑ 1 | 2.43 | 26.22 | 13.10 |
| VMess ↓ 8 | 2.23 | 22.67 | 20.54 |
| VMess ↑ 8 | 1.94 | 25.89 | 16.65 |
| VMess ↓ 64 | 2.62 | 29.01 | 22.89 |
| VMess ↑ 64 | 2.02 | 29.35 | 19.59 |
| VLESS ↓ 1 | 1.69 | 5.65 | — |
| VLESS ↑ 1 | 1.49 | 7.31 | — |
| VLESS ↓ 8 | 1.92 | 6.30 | — |
| VLESS ↑ 8 | 1.56 | 4.95 | — |
| VLESS ↓ 64 | 1.87 | 6.20 | — |
| VLESS ↑ 64 | 1.66 | 4.92 | — |
| Trojan ↓ 1 | 1.69 | 5.98 | 8.56 |
| Trojan ↑ 1 | 1.63 | 7.21 | 5.67 |
| Trojan ↓ 8 | 1.77 | 5.78 | 7.31 |
| Trojan ↑ 8 | 1.63 | 5.00 | 4.94 |
| Trojan ↓ 64 | 1.93 | 5.96 | 9.37 |
| Trojan ↑ 64 | 1.65 | 5.15 | 6.41 |
| AnyTLS ↓ 1 | 2.15 | 6.51 | 9.57 |
| AnyTLS ↑ 1 | 1.57 | 8.08 | 5.34 |
| AnyTLS ↓ 8 | 2.12 | 5.12 | 7.87 |
| AnyTLS ↑ 8 | 1.62 | 5.26 | 5.22 |
| AnyTLS ↓ 64 | 2.31 | 6.14 | 11.49 |
| AnyTLS ↑ 64 | 1.74 | 5.29 | 6.18 |
| 測試 | Pipe | FlClash | Surfboard |
|---|---|---|---|
| SOCKS5 ↓ 1 | 185 | 487 | 259 |
| SOCKS5 ↑ 1 | 201 | 453 | 244 |
| SOCKS5 ↓ 8 | 170 | 453 | 248 |
| SOCKS5 ↑ 8 | 178 | 454 | 236 |
| SOCKS5 ↓ 64 | 181 | 455 | 246 |
| SOCKS5 ↑ 64 | 177 | 521 | 276 |
| Shadowsocks ↓ 1 | 174 | 510 | 275 |
| Shadowsocks ↑ 1 | 176 | 522 | 268 |
| Shadowsocks ↓ 8 | 169 | 522 | 271 |
| Shadowsocks ↑ 8 | 168 | 522 | 274 |
| Shadowsocks ↓ 64 | 170 | 523 | 251 |
| Shadowsocks ↑ 64 | 179 | 498 | 254 |
| VMess ↓ 1 | 175 | 496 | 286 |
| VMess ↑ 1 | 171 | 498 | 293 |
| VMess ↓ 8 | 173 | 499 | 282 |
| VMess ↑ 8 | 177 | 499 | 284 |
| VMess ↓ 64 | 178 | 499 | 289 |
| VMess ↑ 64 | 193 | 493 | 293 |
| VLESS ↓ 1 | 175 | 492 | — |
| VLESS ↑ 1 | 177 | 494 | — |
| VLESS ↓ 8 | 180 | 494 | — |
| VLESS ↑ 8 | 183 | 494 | — |
| VLESS ↓ 64 | 171 | 495 | — |
| VLESS ↑ 64 | 181 | 490 | — |
| Trojan ↓ 1 | 180 | 493 | 284 |
| Trojan ↑ 1 | 183 | 491 | 288 |
| Trojan ↓ 8 | 173 | 491 | 290 |
| Trojan ↑ 8 | 172 | 491 | 293 |
| Trojan ↓ 64 | 173 | 492 | 284 |
| Trojan ↑ 64 | 187 | 496 | 279 |
| AnyTLS ↓ 1 | 175 | 502 | 273 |
| AnyTLS ↑ 1 | 176 | 497 | 276 |
| AnyTLS ↓ 8 | 178 | 497 | 279 |
| AnyTLS ↑ 8 | 181 | 497 | 281 |
| AnyTLS ↓ 64 | 185 | 498 | 273 |
| AnyTLS ↑ 64 | 193 | 506 | 270 |
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 測試無法進行。
每一項測試
| 協定 | 下載, 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 個用戶端
| 測試 | Pipe | Surge | Clash |
|---|---|---|---|
| SOCKS5 ↓ 1 | 5,486 | 5,408 | 4,338 |
| SOCKS5 ↑ 1 | 1,795 | 1,915 | 1,453 |
| SOCKS5 ↓ 8 | 6,139 | 5,772 | 3,924 |
| SOCKS5 ↑ 8 | 4,285 | 4,520 | 1,347 |
| SOCKS5 ↓ 64 | 5,203 | 4,904 | 2,964 |
| SOCKS5 ↑ 64 | 3,360 | 3,428 | 253 |
| Shadowsocks ↓ 1 | 4,396 | 4,649 | 1,292 |
| Shadowsocks ↑ 1 | 1,776 | 1,743 | 1,348 |
| Shadowsocks ↓ 8 | 3,648 | 4,006 | 1,171 |
| Shadowsocks ↑ 8 | 2,498 | 2,594 | 1,257 |
| Shadowsocks ↓ 64 | 2,907 | 3,066 | 907 |
| Shadowsocks ↑ 64 | 2,463 | 2,644 | 251 |
| VMess ↓ 1 | 3,655 | 3,025 | 1,911 |
| VMess ↑ 1 | 1,852 | 1,630 | 869 |
| VMess ↓ 8 | 3,884 | 3,415 | 1,723 |
| VMess ↑ 8 | 2,232 | 2,725 | 742 |
| VMess ↓ 64 | 3,460 | 2,837 | 失敗 |
| VMess ↑ 64 | 2,357 | 2,325 | 失敗 |
| VLESS ↓ 1 | 4,196 | 4,033 | 2,068 |
| VLESS ↑ 1 | 1,181 | 1,682 | 959 |
| VLESS ↓ 8 | 5,663 | 6,338 | 1,946 |
| VLESS ↑ 8 | 3,889 | 4,049 | 729 |
| VLESS ↓ 64 | 4,572 | 4,879 | 失敗 |
| VLESS ↑ 64 | 2,690 | 3,108 | 失敗 |
| Trojan ↓ 1 | 3,919 | 3,575 | 失敗 |
| Trojan ↑ 1 | 1,807 | 1,629 | 失敗 |
| Trojan ↓ 8 | 4,029 | 3,908 | 失敗 |
| Trojan ↑ 8 | 2,799 | 2,655 | 失敗 |
| Trojan ↓ 64 | 3,124 | 3,442 | 失敗 |
| Trojan ↑ 64 | 2,466 | 2,528 | 失敗 |
| AnyTLS ↓ 1 | 4,201 | 2,801 | 失敗 |
| AnyTLS ↑ 1 | 1,823 | 1,521 | 失敗 |
| AnyTLS ↓ 8 | 3,748 | 3,647 | 失敗 |
| AnyTLS ↑ 8 | 2,520 | 2,370 | 失敗 |
| AnyTLS ↓ 64 | 1,815 | 1,451 | 失敗 |
| AnyTLS ↑ 64 | 3,261 | 2,639 | 失敗 |
| Hysteria 2 ↓ 1 | 1,308 | 1,440 | 291 |
| Hysteria 2 ↑ 1 | 1,488 | 1,316 | 166 |
| Hysteria 2 ↓ 8 | 1,277 | 1,169 | 289 |
| Hysteria 2 ↑ 8 | 1,451 | 1,334 | 174 |
| Hysteria 2 ↓ 64 | 1,433 | 611 | 255 |
| Hysteria 2 ↑ 64 | 1,439 | 1,288 | 173 |
| TUIC ↓ 1 | 1,296 | 1,364 | 311 |
| TUIC ↑ 1 | 1,458 | 1,169 | 188 |
| TUIC ↓ 8 | 1,410 | 1,002 | 288 |
| TUIC ↑ 8 | 1,431 | 1,219 | 190 |
| TUIC ↓ 64 | 1,533 | 524 | 262 |
| TUIC ↑ 64 | 1,366 | 1,179 | 188 |
| WireGuard ↓ 1 | 659 | 失敗 | 744 |
| WireGuard ↑ 1 | 998 | 失敗 | 582 |
| WireGuard ↓ 8 | 651 | 失敗 | 753 |
| WireGuard ↑ 8 | 1,061 | 失敗 | 522 |
| WireGuard ↓ 64 | 636 | 失敗 | 690 |
| WireGuard ↑ 64 | 970 | 失敗 | 240 |
Pipe 落後之處
全部 24 項。大部分只是一次十秒的讀數,而在手機上,同一項測試先後兩次之間的波動已大於這些差距。每一項都在我們的待辦清單上。
| 測試台 | 測試 | Pipe | 其他最佳 | 差距 |
|---|---|---|---|---|
| Mac App | Shadowsocks ↑ 1 | 9,336 | 10,862 Surge Mac | −14% |
| Mac App | VMess ↓ 1 | 6,787 | 7,523 FlClash | −10% |
| Mac App | VMess ↑ 64 | 5,237 | 5,535 Surge Mac | −5% |
| Mac App | Trojan ↑ 1 | 5,998 | 6,499 Surge Mac | −8% |
| Mac App | AnyTLS ↑ 1 | 8,397 | 8,929 Surge Mac | −6% |
| Android App | SOCKS5 ↓ 64 | 2,276 | 2,474 FlClash | −8% |
| Android App | Shadowsocks ↓ 64 | 1,858 | 2,571 Surfboard | −28% |
| Android App | Trojan ↓ 8 | 2,765 | 3,023 Surfboard | −9% |
| iPhone App | SOCKS5 ↑ 1 | 1,795 | 1,915 Surge | −6% |
| iPhone App | SOCKS5 ↑ 8 | 4,285 | 4,520 Surge | −5% |
| iPhone App | Shadowsocks ↓ 1 | 4,396 | 4,649 Surge | −5% |
| iPhone App | Shadowsocks ↓ 8 | 3,648 | 4,006 Surge | −9% |
| iPhone App | Shadowsocks ↓ 64 | 2,907 | 3,066 Surge | −5% |
| iPhone App | Shadowsocks ↑ 64 | 2,463 | 2,644 Surge | −7% |
| iPhone App | VMess ↑ 8 | 2,232 | 2,725 Surge | −18% |
| iPhone App | VLESS ↑ 1 | 1,181 | 1,682 Surge | −30% |
| iPhone App | VLESS ↓ 8 | 5,663 | 6,338 Surge | −11% |
| iPhone App | VLESS ↓ 64 | 4,572 | 4,879 Surge | −6% |
| iPhone App | VLESS ↑ 64 | 2,690 | 3,108 Surge | −13% |
| iPhone App | Trojan ↓ 64 | 3,124 | 3,442 Surge | −9% |
| iPhone App | Hysteria 2 ↓ 1 | 1,308 | 1,440 Surge | −9% |
| iPhone App | WireGuard ↓ 1 | 659 | 744 Clash | −11% |
| iPhone App | WireGuard ↓ 8 | 651 | 753 Clash | −14% |
| iPhone App | WireGuard ↓ 64 | 636 | 690 Clash | −8% |
吞吐量以外,引擎在單一串流的 Shadowsocks 上,兩個方向耗用的 CPU 都比 sing-box 多,在六十四個 WireGuard 上載時佔用的記憶體也比 mihomo 多。這三項測試都在上面引擎的方格圖裡。
為何這樣快
這裡沒有任何一項是測試台造成的假象。每一項慢的測試都會追查到原因,而大部分原因原來都很小:Pipe 交給對端的是甚麼,以及它在兩次突發之間做些甚麼。
線路上只有完整的區塊
代理伺服器會把收到的每一個區塊打開再轉發。Shadowsocks 的區塊、AnyTLS 的訊框和 TLS 的記錄,現在離開 Pipe 時都剛好是填滿一個的大小,不會是一整塊再加一小片,所以伺服器每 GB 要做的工夫更少。
快速路徑上沒有共用的東西
不會為每個封包取一次鎖,讀取記憶體預算也不用鎖,每條資料流的緩衝區會一直跟着它,直到它靜止十毫秒為止,而不是每逢空檔就歸還。
自家的 TCP/IP 堆疊
隧道的流量遇上的是專為這份工作而寫的堆疊:視窗按裝置定大小,確認成批發出,在系統容許之處,封包成批讀寫。
沒有執行階段擋路
Rust 直接編譯成機器碼,沒有垃圾回收器,所以無需為回收而停頓,也沒有第二個堆積要增長。一個 GB 所耗的 CPU 就是加密和系統呼叫,此外所餘無幾。
方法
四條原則,本頁的一切都由此而來。
- 同一件儀器。 每一個吞吐量數字都是一次 iperf3 運行:TCP,略去開頭兩秒後量度十秒,取接收端的 Mbit/s。負載產生器位於每個用戶端之外,對所有用戶端都是同一個。
- 只有用戶端在變。 同一個固定版本的伺服器(sing-box 1.14.4)、同一條鏈路、同一份測試清單。每個用戶端都按發佈時的原樣運行,用它自己的預設值;沒有一個經過調校,Pipe 也沒有別人沒有的開關。
- 一切都保留。 每一次運行都是記錄檔裡的一行,失敗的也一樣;本頁每一個數字、圖表和表格,都由腳本從那份記錄檔寫出。用戶端不支援某種協定時留下破折號;無法完成測試時則標示為失敗。
- 落敗的也列出。 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 線上。
- 這裡量度的只有大量傳輸的吞吐量及其代價。延遲、一整天的電池續航,以及網絡切換後的恢復,都不在其內。
- 其他產品的名稱屬其各自擁有者所有。本頁內容未獲他們背書,每一個數字都是我們在自己的測試台上自行量度的結果。