You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+67-12Lines changed: 67 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -397,25 +397,79 @@ We have written extensive benchmarks to show that :tangerine: Tangerine is as fa
397
397
398
398
The latest benchmark results are viewable on GitHub under this repository's [GitHub CI actions logs](https://github.com/forwardemail/tangerine/actions?query=event%3Apush):
399
399
400
-
> [Node 16 on ubuntu-latest](#TODO)
400
+
> [Node 16 on ubuntu-latest](https://github.com/forwardemail/tangerine/actions/runs/4297805550/jobs/7491228635#step:6:1)
tangerine.lookupPOSTwith caching using Cloudflare x 735 ops/sec ±195.35% (88 runs sampled)
407
+
tangerine.lookupPOST without caching using Cloudflare x 142 ops/sec ±0.58% (84 runs sampled)
408
+
tangerine.lookupGETwith caching using Cloudflare x 222,397 ops/sec ±0.52% (88 runs sampled)
409
+
+tangerine.lookupGET without caching using Cloudflare x 142 ops/sec ±0.46% (83 runs sampled)
410
+
dns.promises.lookupwith caching using Cloudflare x 6,169,417 ops/sec ±1.67% (84 runs sampled)
411
+
-dns.promises.lookup without caching using Cloudflare x 4,186 ops/sec ±0.58% (89 runs sampled)
412
+
Fastest without caching is:dns.promises.lookup without caching using Cloudflare
407
413
408
-
> **NOTE**: HTTP library benchmark tests above are not based on real-world usage; instead they are using mock libraries such as `nock` and undici's `MockAgent`. An actual HTTP server could be implemented in these benchmarks (pull request is welcome). See [HTTP Library Benchmarks](#http-library-benchmarks) below for more insight into results with real-world servers.
414
+
Started: resolve
415
+
tangerine.resolvePOSTwith caching using Cloudflare x 951 ops/sec ±195.84% (87 runs sampled)
416
+
tangerine.resolvePOST without caching using Cloudflare x 135 ops/sec ±1.27% (79 runs sampled)
417
+
tangerine.resolveGETwith caching using Cloudflare x 1,134,724 ops/sec ±0.27% (87 runs sampled)
418
+
+tangerine.resolveGET without caching using Cloudflare x 135 ops/sec ±1.34% (81 runs sampled)
419
+
tangerine.resolvePOSTwith caching using Google x 1,103,189 ops/sec ±0.44% (86 runs sampled)
420
+
tangerine.resolvePOST without caching using Google x 55.76 ops/sec ±3.57% (80 runs sampled)
421
+
tangerine.resolveGETwith caching using Google x 1,140,499 ops/sec ±0.32% (87 runs sampled)
422
+
tangerine.resolveGET without caching using Google x 70.51 ops/sec ±0.93% (84 runs sampled)
423
+
resolver.resolvewith caching using Cloudflare x 4,790,171 ops/sec ±0.43% (87 runs sampled)
424
+
-resolver.resolve without caching using Cloudflare x 158 ops/sec ±1.26% (83 runs sampled)
425
+
Fastest without caching is:resolver.resolve without caching using Cloudflare
409
426
410
-
> [Node 18 on ubuntu latest](#TODO)
427
+
Started: reverse
428
+
tangerine.reverseGETwith caching x 771 ops/sec ±195.37% (85 runs sampled)
429
+
+tangerine.reverseGET without caching x 135 ops/sec ±0.74% (81 runs sampled)
430
+
resolver.reversewith caching x 5,353,130 ops/sec ±0.36% (89 runs sampled)
431
+
-resolver.reverse without caching x 1.90 ops/sec ±210.52% (16 runs sampled)
432
+
dns.promises.reversewith caching x 5,123,900 ops/sec ±0.96% (85 runs sampled)
433
+
-dns.promises.reverse without caching x 0.29 ops/sec ±171.85% (18 runs sampled)
434
+
+Fastest without caching is:tangerine.reverseGET without caching
435
+
```
411
436
412
-
```sh
437
+
> [Node 18 on ubuntu latest](https://github.com/forwardemail/tangerine/actions/runs/4297805550/jobs/7491228742#step:6:1)
tangerine.lookupPOSTwith caching using Cloudflare x 666 ops/sec ±195.48% (87 runs sampled)
444
+
tangerine.lookupPOST without caching using Cloudflare x 90.81 ops/sec ±8.06% (89 runs sampled)
445
+
tangerine.lookupGETwith caching using Cloudflare x 256,141 ops/sec ±1.72% (87 runs sampled)
446
+
+tangerine.lookupGET without caching using Cloudflare x 96.39 ops/sec ±0.31% (89 runs sampled)
447
+
dns.promises.lookupwith caching using Cloudflare x 1,473 ops/sec ±195.95% (87 runs sampled)
448
+
-dns.promises.lookup without caching using Cloudflare x 4,191 ops/sec ±0.54% (85 runs sampled)
449
+
Fastest without caching is:dns.promises.lookup without caching using Cloudflare
417
450
418
-
> **NOTE**: HTTP library benchmark tests above are not based on real-world usage; instead they are using mock libraries such as `nock` and undici's `MockAgent`. An actual HTTP server could be implemented in these benchmarks (pull request is welcome). See [HTTP Library Benchmarks](#http-library-benchmarks) below for more insight into results with real-world servers.
451
+
Started: resolve
452
+
tangerine.resolvePOSTwith caching using Cloudflare x 683 ops/sec ±195.88% (87 runs sampled)
453
+
tangerine.resolvePOST without caching using Cloudflare x 93.37 ops/sec ±0.48% (87 runs sampled)
454
+
tangerine.resolveGETwith caching using Cloudflare x 1,146,727 ops/sec ±0.58% (88 runs sampled)
455
+
+tangerine.resolveGET without caching using Cloudflare x 93.33 ops/sec ±0.51% (87 runs sampled)
456
+
tangerine.resolvePOSTwith caching using Google x 1,133,683 ops/sec ±2.74% (89 runs sampled)
457
+
tangerine.resolvePOST without caching using Google x 83.91 ops/sec ±6.32% (76 runs sampled)
458
+
tangerine.resolveGETwith caching using Google x 1,147,212 ops/sec ±0.32% (90 runs sampled)
459
+
tangerine.resolveGET without caching using Google x 79.73 ops/sec ±4.02% (77 runs sampled)
460
+
resolver.resolvewith caching using Cloudflare x 5,318,406 ops/sec ±0.67% (86 runs sampled)
461
+
-resolver.resolve without caching using Cloudflare x 100 ops/sec ±1.55% (79 runs sampled)
462
+
Fastest without caching is:resolver.resolve without caching using Cloudflare
463
+
464
+
Started: reverse
465
+
tangerine.reverseGETwith caching x 722 ops/sec ±195.42% (88 runs sampled)
466
+
+tangerine.reverseGET without caching x 93.19 ops/sec ±0.74% (87 runs sampled)
467
+
resolver.reversewith caching x 5,520,569 ops/sec ±0.59% (85 runs sampled)
468
+
-resolver.reverse without caching x 17.42 ops/sec ±162.63% (70 runs sampled)
469
+
dns.promises.reversewith caching x 5,164,258 ops/sec ±0.96% (86 runs sampled)
470
+
-dns.promises.reverse without caching x 0.20 ops/sec ±184.87% (25 runs sampled)
471
+
+Fastest without caching is:tangerine.reverseGET without caching
472
+
```
419
473
420
474
---
421
475
@@ -453,7 +507,7 @@ tangerine.resolve GET with caching using Google x 2,885,428 ops/sec ±0.22% (88
453
507
tangerine.resolveGET without caching using Google x 70.38 ops/sec ±3.72% (68 runs sampled)
454
508
resolver.resolvewith caching using Cloudflare x 10,645,813 ops/sec ±0.23% (91 runs sampled)
455
509
-resolver.resolve without caching using Cloudflare x 71.80 ops/sec ±2.84% (67 runs sampled)
456
-
Fastest without caching is:resolver.resolve without caching using Cloudflare, tangerine.resolveGET without caching using Cloudflare, tangerine.resolveGET without caching using Google, tangerine.resolvePOST without caching using Cloudflare
510
+
+Fastest without caching is:resolver.resolve without caching using Cloudflare, tangerine.resolveGET without caching using Cloudflare, tangerine.resolveGET without caching using Google, tangerine.resolvePOST without caching using Cloudflare
457
511
458
512
Started: reverse
459
513
tangerine.reverseGETwith caching x 917 ops/sec ±195.78% (88 runs sampled)
@@ -493,7 +547,7 @@ tangerine.resolve GET with caching using Google x 2,784,199 ops/sec ±0.15% (92
493
547
tangerine.resolveGET without caching using Google x 47.55 ops/sec ±5.66% (76 runs sampled)
494
548
resolver.resolvewith caching using Cloudflare x 0.09 ops/sec ±6.41% (5 runs sampled)
495
549
-resolver.resolve without caching using Cloudflare x 0.10 ops/sec ±6.52% (5 runs sampled)
496
-
Fastest without caching is:tangerine.resolveGET without caching using Google
550
+
+Fastest without caching is:tangerine.resolveGET without caching using Google
497
551
498
552
Started: reverse
499
553
tangerine.reverseGETwith caching x 1,345 ops/sec ±195.66% (92 runs sampled)
@@ -502,6 +556,7 @@ resolver.reverse with caching x 0.10 ops/sec ±6.54% (5 runs sampled)
502
556
-resolver.reverse without caching x 0.10 ops/sec ±0.01% (5 runs sampled)
503
557
dns.promises.reversewith caching x 0.10 ops/sec ±6.54% (5 runs sampled)
504
558
-dns.promises.reverse without caching x 0.10 ops/sec ±0.01% (5 runs sampled)
559
+
+Fastest without caching is:tangerine.reverseGET without caching
505
560
```
506
561
507
562
Also see this [write-up](https://samknows.com/blog/dns-over-https-performance) on UDP-based DNS versus DNS over HTTPS ("DoH") benchmarks.
0 commit comments