Pipe Obtenir Pipe

Rapport de benchmark · 14 novembre 2026

Pipe, à côté de sept autres clients.

Quatre bancs d’essai (le moteur seul, un Mac, un téléphone Android et un iPhone), 9 protocoles, et le même serveur et le même iperf3 pour tous. Pipe est devant le meilleur des autres clients, ou à égalité avec lui, dans 180 des 204 tests de débit. Il est derrière dans 24 tests, et ils sont tous ici.

  • 180/204

    tests de débit devant ou à égalité

  • 1,7×

    moins de CPU par gigaoctet que le meilleur des autres moteurs

  • 2,3×

    moins de mémoire en pointe que le plus léger des autres moteurs

  • 4,5×

    moins de CPU par gigaoctet que la meilleure des autres apps Android

Le résultat, banc par banc

Un test, c’est un protocole, un sens et un nombre de flux parallèles, exécuté pendant dix secondes à travers chaque client à tour de rôle. Pipe est devant quand il bat le meilleur des autres clients de plus de 5 %, à égalité à 5 % près dans un sens ou dans l’autre, et derrière en deçà.

  • Le moteur n’est jamais derrière. Face à sing-box, Xray et mihomo, il est devant dans 43 tests et à égalité dans les 11 autres, avec 1,7× moins de CPU et 2,3× moins de mémoire que le meilleur d’entre eux.
  • Les apps gardent cette avance. Avec le client entier et son tunnel sur le chemin, Pipe est devant Surge Mac et FlClash, ou à égalité avec eux, dans 55 des 60 tests ; de même face à FlClash et Surfboard sur Android, dans 33 des 36.
  • Sur l’iPhone, c’est serré. Devant ou à égalité dans 38 des 54 tests : nettement devant Clash ; face à Surge, devant dans la plupart des tests QUIC, VMess et AnyTLS, et en dessous dans la plupart des tests Shadowsocks et VLESS.

Un Mac, en boucle locale · les moteurs seuls

Le moteur

Chaque moteur tourne comme un processus ordinaire, avec un port redirigé en entrée et un protocole en sortie, vers le même serveur à version fixée. Ni tunnel ni app : c’est ce que les cœurs eux-mêmes savent faire, et ce qu’ils dépensent pour le faire.

  • Pipe 079ed34f
  • sing-box 1.14.4
  • Xray 26.11.9
  • mihomo 1.19.33
  • Débit

    54/54

    devant ou à égalité

    43 devant11 à égalité0 derrière

    1,27× le débit du meilleur des autres clients, en moyenne géométrique

  • CPU par gigaoctet

    52/54

    devant ou à égalité

    49 devant3 à égalité2 derrière

    1,74× moins que le meilleur des autres clients, en moyenne géométrique

  • Mémoire

    53/54

    devant ou à égalité

    51 devant2 à égalité1 derrière

    2,32× moins que le meilleur des autres clients, en moyenne géométrique

Ce que coûte un gigaoctet

Les secondes CPU que chaque moteur a dépensées pour transporter un GiB, avec huit téléchargements simultanés. Sur un téléphone, c’est de la batterie ; sur n’importe quel appareil, c’est de la chaleur. Pipe dépense 6,11 secondes par GiB sur Hysteria 2, là où les cœurs en Go en dépensent de 26,47 à 34,26, et 8,52 sur WireGuard, là où ils en dépensent de 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
Secondes CPU par GiB, huit téléchargements simultanés. Moins, c’est mieux ; chaque graphique a sa propre échelle. Un tiret marque un protocole que le client ne prend pas en charge.

Ce qu’il occupe

Le pic de mémoire pendant le même test. Pipe n’a pas de ramasse-miettes et emprunte chaque tampon à un seul budget : son empreinte suit donc le travail, 5 MiB sur un seul téléchargement, 11 sur soixante-quatre.

  • 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
Pic de mémoire en MiB, huit téléchargements simultanés. Moins, c’est mieux ; chaque graphique a sa propre échelle.

À quelle vitesse il va

En boucle locale, le serveur plafonne les protocoles les plus rapides sur un seul flux : plusieurs moteurs y affichent donc les mêmes chiffres, et c’est le CPU qui les départage. Avec huit flux, la limite, ce sont les moteurs eux-mêmes, et Pipe transporte 9,1 Gbit/s de Shadowsocks, là où le meilleur des autres en transporte 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
Débit en Mbit/s, huit téléchargements simultanés. Plus, c’est mieux ; chaque graphique a sa propre échelle.

Tous les tests

Chaque carré est un test : le chiffre de Pipe, et son écart avec celui du meilleur des autres clients. Les flèches indiquent le sens ; le nombre à côté, celui des flux.

devantà égalitéderrière

Débit: Pipe face au meilleur des autres clients dans chaque test (Mbit/s, plus, c’est mieux)
Protocoletéléchargement, 1 fluxtéléchargement, 8 fluxtéléchargement, 64 fluxenvoi, 1 fluxenvoi, 8 fluxenvoi, 64 flux
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
CPU par gigaoctet: Pipe face au meilleur des autres clients dans chaque test (secondes CPU par GiB, moins, c’est mieux)
Protocoletéléchargement, 1 fluxtéléchargement, 8 fluxtéléchargement, 64 fluxenvoi, 1 fluxenvoi, 8 fluxenvoi, 64 flux
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
Mémoire: Pipe face au meilleur des autres clients dans chaque test (MiB, moins, c’est mieux)
Protocoletéléchargement, 1 fluxtéléchargement, 8 fluxtéléchargement, 64 fluxenvoi, 1 fluxenvoi, 8 fluxenvoi, 64 flux
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
Tous les chiffres 54 tests × 4 clients
Débit (Mbit/s, plus, c’est mieux)
TestPipesing-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échec552
WireGuard ↑ 641 4981 046495286
CPU par gigaoctet (secondes CPU par GiB, moins, c’est mieux)
TestPipesing-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échec49,14
WireGuard ↑ 645,9719,6237,2942,28
Mémoire (MiB, moins, c’est mieux)
TestPipesing-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échec81
WireGuard ↑ 6412133224198

Une machine virtuelle macOS 27 vers son hôte · l’app entière, tunnel activé

App Mac

Chaque app telle qu’elle est livrée, en mode Règle avec son tunnel activé, l’une après l’autre dans la même machine virtuelle. La première ligne, Direct, c’est le tunnel sans proxy derrière lui : ce que l’app elle-même coûte à chaque connexion.

  • Pipe 079ed34f
  • Surge Mac 6.12.0
  • FlClash 0.9.3
  • Débit

    55/60

    devant ou à égalité

    46 devant9 à égalité5 derrière

    1,28× le débit du meilleur des autres clients, en moyenne géométrique

Par son tunnel seul, Pipe fait passer 13,8 Gbit/s sur un téléchargement ; Surge Mac en fait passer 7,0 et FlClash 10,5. Avec huit téléchargements à travers un proxy, il transporte 10,8 Gbit/s de Trojan, là où le meilleur des autres en transporte 7,3. Surge Mac n’accepte pas de proxy VLESS, et son WireGuard n’a terminé aucune exécution sur ce banc.

  • Direct

    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échec
    3. FlClash609
Débit en Mbit/s, huit téléchargements simultanés. Plus, c’est mieux ; chaque graphique a sa propre échelle.

Tous les tests

Débit: Pipe face au meilleur des autres clients dans chaque test (Mbit/s, plus, c’est mieux)
Protocoletéléchargement, 1 fluxtéléchargement, 8 fluxtéléchargement, 64 fluxenvoi, 1 fluxenvoi, 8 fluxenvoi, 64 flux
Direct+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
Tous les chiffres 60 tests × 3 clients
Débit (Mbit/s, plus, c’est mieux)
TestPipeSurge MacFlClash
Direct ↓ 113 8056 96010 505
Direct ↑ 114 98813 4668 284
Direct ↓ 810 2796 6257 888
Direct ↑ 813 99610 9829 800
Direct ↓ 648 7805 6066 229
Direct ↑ 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échec3 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échec5 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échec5 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échec477
TUIC ↓ 11 3171 044868
TUIC ↑ 11 4231 466298
TUIC ↓ 81 364848811
TUIC ↑ 81 3981 365446
TUIC ↓ 641 032399745
TUIC ↑ 641 411échec820
WireGuard ↓ 1619échec539
WireGuard ↑ 11 324échec1 283
WireGuard ↓ 8658échec609
WireGuard ↑ 81 378échec1 111
WireGuard ↓ 64639échec605
WireGuard ↑ 641 352échec725

Galaxy S25 Edge, Android 17 · câble USB vers un Mac

App Android

Ici, la liaison est adb sur le câble, qui transporte quelque 2 à 2,8 Gbit/s de TCP et rien d’autre : la plupart des tests l’atteignent, si bien que le débit ne dit souvent que « pas plus lent ». Ce qui départage les clients, c’est ce que le téléphone dépense, et là, aucun test n’est serré.

  • Pipe aa6b8acf
  • FlClash 0.9.3
  • Surfboard 2.35.2
  • Débit

    33/36

    devant ou à égalité

    23 devant10 à égalité3 derrière

    1,34× le débit du meilleur des autres clients, en moyenne géométrique

  • CPU par gigaoctet

    36/36

    devant ou à égalité

    36 devant0 à égalité0 derrière

    4,45× moins que le meilleur des autres clients, en moyenne géométrique

  • Mémoire

    36/36

    devant ou à égalité

    36 devant0 à égalité0 derrière

    1,69× moins que le meilleur des autres clients, en moyenne géométrique

Pipe dépense de 1,0 à 2,6 secondes CPU par GiB, quel que soit le protocole. FlClash et Surfboard en dépensent de 2,8 à 34,6, et sur Shadowsocks et VMess un flux unique à travers l’un ou l’autre transporte moins de la moitié de ce que transporte Pipe. Les processus de Pipe occupent de 168 à 201 MiB ; ceux des autres, de 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
Secondes CPU par GiB, huit téléchargements simultanés. Moins, c’est mieux ; chaque graphique a sa propre échelle. Surfboard ne prend pas en charge VLESS.

Tous les tests

Débit: Pipe face au meilleur des autres clients dans chaque test (Mbit/s, plus, c’est mieux)
Protocoletéléchargement, 1 fluxtéléchargement, 8 fluxtéléchargement, 64 fluxenvoi, 1 fluxenvoi, 8 fluxenvoi, 64 flux
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
CPU par gigaoctet: Pipe face au meilleur des autres clients dans chaque test (secondes CPU par GiB, moins, c’est mieux)
Protocoletéléchargement, 1 fluxtéléchargement, 8 fluxtéléchargement, 64 fluxenvoi, 1 fluxenvoi, 8 fluxenvoi, 64 flux
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
Tous les chiffres 36 tests × 3 clients
Débit (Mbit/s, plus, c’est mieux)
TestPipeFlClashSurfboard
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
CPU par gigaoctet (secondes CPU par GiB, moins, c’est mieux)
TestPipeFlClashSurfboard
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
Mémoire (MiB, moins, c’est mieux)
TestPipeFlClashSurfboard
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 · câble USB vers un Mac

App iPhone

Le banc le plus difficile à lire. Un iPhone accorde à un tunnel un seul petit processus et environ 50 MiB, un envoi unique se limite à un cœur à haute efficacité énergétique, quel que soit le client, et un téléphone qui a chauffé transporte un tiers de moins qu’un téléphone reposé. Chaque client a eu une seule passe.

  • Pipe aa6b8acf
  • Surge 6.100.0
  • Clash 1.0.9
  • Débit

    38/54

    devant ou à égalité

    27 devant11 à égalité16 derrière

    1,12× le débit du meilleur des autres clients, en moyenne géométrique

Face à Surge, Pipe est devant dans la plupart des tests VMess, AnyTLS, Hysteria 2 et TUIC, devant ou à égalité dans cinq des six tests Trojan, au coude-à-coude sur SOCKS5, et en dessous dans la plupart des tests Shadowsocks et VLESS. Face à Clash, il est devant dans tous les tests que les deux ont terminés, sauf les téléchargements WireGuard, où il est derrière d’environ un dixième. Le WireGuard de Surge n’a terminé aucune exécution, et l’extension de Clash s’est arrêtée à soixante-quatre flux VMess et VLESS, si bien que ses tests Trojan et AnyTLS n’ont pas pu être lancés.

Tous les tests

Débit: Pipe face au meilleur des autres clients dans chaque test (Mbit/s, plus, c’est mieux)
Protocoletéléchargement, 1 fluxtéléchargement, 8 fluxtéléchargement, 64 fluxenvoi, 1 fluxenvoi, 8 fluxenvoi, 64 flux
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
Tous les chiffres 54 tests × 3 clients
Débit (Mbit/s, plus, c’est mieux)
TestPipeSurgeClash
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échec
VMess ↑ 642 3572 325échec
VLESS ↓ 14 1964 0332 068
VLESS ↑ 11 1811 682959
VLESS ↓ 85 6636 3381 946
VLESS ↑ 83 8894 049729
VLESS ↓ 644 5724 879échec
VLESS ↑ 642 6903 108échec
Trojan ↓ 13 9193 575échec
Trojan ↑ 11 8071 629échec
Trojan ↓ 84 0293 908échec
Trojan ↑ 82 7992 655échec
Trojan ↓ 643 1243 442échec
Trojan ↑ 642 4662 528échec
AnyTLS ↓ 14 2012 801échec
AnyTLS ↑ 11 8231 521échec
AnyTLS ↓ 83 7483 647échec
AnyTLS ↑ 82 5202 370échec
AnyTLS ↓ 641 8151 451échec
AnyTLS ↑ 643 2612 639échec
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échec744
WireGuard ↑ 1998échec582
WireGuard ↓ 8651échec753
WireGuard ↑ 81 061échec522
WireGuard ↓ 64636échec690
WireGuard ↑ 64970échec240

Où Pipe est derrière

Les 24, sans exception. La plupart sont des mesures uniques de dix secondes, et sur les téléphones, d’une séance à l’autre, un test varie de plus que ces écarts. Chacun figure sur notre liste.

Tous les tests de débit où Pipe est à plus de 5 % sous le meilleur des autres clients (Mbit/s)
BancTestPipeMeilleur des autresÉcart
App MacShadowsocks ↑ 19 33610 862 Surge Mac−14%
App MacVMess ↓ 16 7877 523 FlClash−10%
App MacVMess ↑ 645 2375 535 Surge Mac−5%
App MacTrojan ↑ 15 9986 499 Surge Mac−8%
App MacAnyTLS ↑ 18 3978 929 Surge Mac−6%
App AndroidSOCKS5 ↓ 642 2762 474 FlClash−8%
App AndroidShadowsocks ↓ 641 8582 571 Surfboard−28%
App AndroidTrojan ↓ 82 7653 023 Surfboard−9%
App iPhoneSOCKS5 ↑ 11 7951 915 Surge−6%
App iPhoneSOCKS5 ↑ 84 2854 520 Surge−5%
App iPhoneShadowsocks ↓ 14 3964 649 Surge−5%
App iPhoneShadowsocks ↓ 83 6484 006 Surge−9%
App iPhoneShadowsocks ↓ 642 9073 066 Surge−5%
App iPhoneShadowsocks ↑ 642 4632 644 Surge−7%
App iPhoneVMess ↑ 82 2322 725 Surge−18%
App iPhoneVLESS ↑ 11 1811 682 Surge−30%
App iPhoneVLESS ↓ 85 6636 338 Surge−11%
App iPhoneVLESS ↓ 644 5724 879 Surge−6%
App iPhoneVLESS ↑ 642 6903 108 Surge−13%
App iPhoneTrojan ↓ 643 1243 442 Surge−9%
App iPhoneHysteria 2 ↓ 11 3081 440 Surge−9%
App iPhoneWireGuard ↓ 1659744 Clash−11%
App iPhoneWireGuard ↓ 8651753 Clash−14%
App iPhoneWireGuard ↓ 64636690 Clash−8%

En dehors du débit, le moteur dépense plus de CPU que sing-box sur Shadowsocks à flux unique, dans les deux sens, et occupe plus de mémoire que mihomo sur soixante-quatre envois WireGuard. Ces trois tests figurent dans les grilles du moteur ci-dessus.

Pourquoi il est rapide

Rien ici ne tient à une astuce du banc. Pour chaque test lent, nous remontons jusqu’à la cause, et la plupart se révèlent être de petites choses : ce que Pipe remet à l’autre bout, et ce qu’il fait entre deux rafales.

  • Des blocs entiers sur le réseau

    Un serveur proxy ouvre et retransmet chaque bloc qu’on lui envoie. Les blocs Shadowsocks, les trames AnyTLS et les enregistrements TLS partent désormais de Pipe à la taille qui en remplit un, jamais sous la forme d’un bloc plein suivi d’une miette : le serveur travaille donc moins pour chaque gigaoctet.

  • Rien de partagé sur le chemin rapide

    Aucun verrou n’est pris à chaque paquet, le budget mémoire se lit sans verrou, et les tampons de chaque flux lui restent tant qu’il n’a pas été silencieux pendant dix millisecondes, au lieu d’être rendus à chaque pause.

  • Une pile TCP/IP maison

    Le trafic du tunnel rencontre une pile écrite pour ce travail : des fenêtres dimensionnées pour l’appareil, des accusés de réception groupés, et des paquets lus et écrits par rafales là où le système le permet.

  • Aucun runtime sur le chemin

    Rust se compile en code machine, sans ramasse-miettes : il n’y a donc ni collecte qui impose une pause, ni second tas qui grossit. Le CPU que coûte un gigaoctet, c’est du chiffrement et des appels système, et guère plus.

Méthode

Quatre règles, dont découle tout ce qui figure sur cette page.

  1. Un seul instrument. Chaque chiffre de débit est une exécution d’iperf3 : TCP, dix secondes après deux secondes écartées, les Mbit/s du récepteur. Le générateur est en dehors de tous les clients, et c’est le même pour tous.
  2. Seul le client change. Un serveur à version fixée (sing-box 1.14.4), une liaison, une liste de tests. Chaque client tourne tel qu’il est livré, avec ses propres réglages par défaut ; aucun n’est ajusté, et Pipe ne reçoit aucune option que les autres n’ont pas.
  3. Tout est conservé. Chaque exécution est une ligne dans un journal, celles qui ont échoué aussi, et chaque chiffre, graphique et tableau de cette page est généré par un script à partir de ce journal. Un client qui ne prend pas en charge un protocole laisse un tiret ; celui qui n’a pas pu terminer un test est marqué « échec ».
  4. Les défaites sont affichées. Un test que Pipe perd reste dans les tableaux et dans le décompte.

Les bancs d’essai

Le moteur
Un MacBook Pro (M1 Max, macOS 27.2) seul, en boucle locale. Chaque moteur est un processus avec un port redirigé ; les secondes CPU et le pic de mémoire sont lus de l’extérieur.
App Mac
Une machine virtuelle macOS 27.2 (10 cœurs) sur ce Mac, qui est aussi l’autre bout. La machine partage les cœurs de son hôte avec le serveur : ces chiffres classent donc les apps et ne sont pas ce qu’atteindrait un Mac dédié.
App Android
Un Galaxy S25 Edge sous Android 17, relié au Mac par câble, la liaison passant par adb. iperf3 tourne sur le téléphone sous l’identité propre d’une app, à l’intérieur du tunnel de chaque client. Le CPU et la mémoire sont lus sur le téléphone.
App iPhone
Un iPhone 15 Pro sous iOS 27.2, relié au Mac par câble. Une petite app à nous, qui embarque la libiperf d’origine, produit la charge : le même binaire pour chaque client, en dehors de tous.

À lire avant de citer un chiffre

  • Ce sont des liaisons de laboratoire, pas internet. Elles classent des clients sur une même machine et n’indiquent pas la vitesse qu’aura votre connexion.
  • La plupart des tests reposent sur un seul relevé de dix secondes. Sur les téléphones, un test peut varier d’un tiers d’une séance à l’autre du seul fait de la chaleur : un résultat serré, pris isolément, veut donc dire peu de chose ; la tendance sur tout un banc en dit davantage.
  • Pipe est le build du 14 novembre 2026 nommé plus haut ; les apps portent ces chiffres à partir de la première version publiée qui en est tirée. Les autres clients sont les versions nommées plus haut, telles que leurs auteurs les livrent. Clash sur l’iPhone est compilé à partir de ses sources publiques avec une seule modification, qui lie un proxy au câble.
  • Le débit brut, et ce qu’il coûte, est tout ce qui est mesuré ici. La latence, l’autonomie sur une journée et la reprise après un changement de réseau ne le sont pas.
  • Les noms des autres produits appartiennent à leurs propriétaires. Rien ici n’est approuvé par eux, et chaque chiffre est notre propre mesure, sur nos propres bancs.