tunnelfetch 1.8.0 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -17
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -819,16 +819,21 @@ Workers Standard bills $5/month including 10 million requests and 30 million CPU
|
|
|
819
819
|
$0.30 per additional million requests and $0.02 per additional million CPU milliseconds. Applying
|
|
820
820
|
the measurements above, with the charge split out so it is clear what is yours to change:
|
|
821
821
|
|
|
822
|
-
| Workload | CPU/request | 10M/mo
|
|
823
|
-
| --- | --- | --- | --- |
|
|
824
|
-
| Platform `fetch`, 16 KB — reference; it cannot use a proxy | 0.3 ms | $
|
|
825
|
-
| Platform `fetch`, 4 MB — same reference, measured | 3.2 ms | $
|
|
826
|
-
| Pooled connection, 16 KB pages | 3.
|
|
827
|
-
| New connection per request, 16 KB |
|
|
828
|
-
| Pooled connection, 1 MB pages |
|
|
829
|
-
| New connection per request, 1 MB |
|
|
830
|
-
| Pooled connection, 4 MB pages |
|
|
831
|
-
| New connection per request, 4 MB |
|
|
822
|
+
| Workload | CPU/request | 10M/mo | 1B/mo |
|
|
823
|
+
| --- | --- | --- | --- |
|
|
824
|
+
| Platform `fetch`, 16 KB — reference; it cannot use a proxy | 0.3 ms | $8.06 | $311.00 |
|
|
825
|
+
| Platform `fetch`, 4 MB — same reference, measured | 3.2 ms | $8.64 | $369.00 |
|
|
826
|
+
| Pooled connection, 16 KB pages | 3.5 ms | $8.70 | $375.00 |
|
|
827
|
+
| New connection per request, 16 KB | 13.5 ms | $10.70 | $575.00 |
|
|
828
|
+
| Pooled connection, 1 MB pages | 51.5 ms | $18.30 | $1,335.00 |
|
|
829
|
+
| New connection per request, 1 MB | 61.5 ms | $20.30 | $1,535.00 |
|
|
830
|
+
| Pooled connection, 4 MB pages | 104 ms | $28.80 | $2,385.00 |
|
|
831
|
+
| New connection per request, 4 MB | 114 ms | $30.80 | $2,585.00 |
|
|
832
|
+
|
|
833
|
+
These follow the CPU table above and nothing else. An earlier version of this section was computed
|
|
834
|
+
from a superseded set of measurements and was left behind when that table was replaced, so the
|
|
835
|
+
document quoted 118.3 ms and 104 ms for the same row in two places. Any figure here that does not
|
|
836
|
+
fall out of the table above is a bug in this README.
|
|
832
837
|
|
|
833
838
|
The reference row is given at two sizes because the platform's own `fetch` is **not flat** — it
|
|
834
839
|
scales at about 0.82 ms per decompressed MB, measured on a size ladder from one CDN so that only the
|
|
@@ -851,14 +856,14 @@ The rows above are the default identity: gzip on the wire, AES-256-GCM, x25519.
|
|
|
851
856
|
bundles every change together, which is not much use for deciding. Priced one at a time against a
|
|
852
857
|
pooled 1 MB workload at a billion requests a month, warmed:
|
|
853
858
|
|
|
854
|
-
| Change from the baseline | CPU/request | 1B/mo
|
|
859
|
+
| Change from the baseline | CPU/request | 1B/mo | Δ | Paid when |
|
|
855
860
|
| --- | --- | --- | --- | --- |
|
|
856
|
-
| baseline — gzip, AES-256-GCM, x25519 |
|
|
857
|
-
| origin serves `br` instead of gzip |
|
|
858
|
-
| server selects ChaCha20-Poly1305 |
|
|
859
|
-
| origin serves `zstd` instead of gzip |
|
|
860
|
-
| X25519MLKEM768, 1 request per connection |
|
|
861
|
-
| X25519MLKEM768, 20 requests per connection |
|
|
861
|
+
| baseline — gzip, AES-256-GCM, x25519 | 51.5 ms | $1,335 | — | always |
|
|
862
|
+
| origin serves `br` instead of gzip | 55.8 ms | $1,421 | **+$86** | the origin chooses `br` |
|
|
863
|
+
| server selects ChaCha20-Poly1305 | 54.5 ms | $1,395 | **+$60** | the server picks it over AES |
|
|
864
|
+
| origin serves `zstd` instead of gzip | 54.3 ms | $1,391 | **+$56** | the origin chooses `zstd` |
|
|
865
|
+
| X25519MLKEM768, 1 request per connection | 59.2 ms | $1,489 | **+$154** | every handshake |
|
|
866
|
+
| X25519MLKEM768, 20 requests per connection | 51.5 ms | $1,335 | **+$0.15** | the same handshake, amortised |
|
|
862
867
|
|
|
863
868
|
The last two rows are the same 0.15 ms of ML-KEM, and the difference between them is entirely
|
|
864
869
|
connection reuse — which is the point worth taking from this table. Post-quantum key exchange is
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tunnelfetch",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.1",
|
|
4
4
|
"description": "A fetch-shaped HTTP client that can route through HTTP CONNECT / HTTPS / SOCKS5 proxies on runtimes with only raw TCP, such as Cloudflare Workers. Implements TLS in userland because the runtime cannot verify a tunnelled peer.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fetch",
|