From 67960902e85b6cf7d2d11808b2ea0588a0e82125 Mon Sep 17 00:00:00 2001 From: Max Inden Date: Tue, 27 Jun 2023 03:24:19 +0200 Subject: [PATCH] feat(perf/go-libp2p): add v0.28.1 (#209) --- perf/impl/go-libp2p/v0.27/go.mod | 2 +- perf/impl/go-libp2p/v0.28/.gitignore | 3 + perf/impl/go-libp2p/v0.28/Dockerfile | 14 + perf/impl/go-libp2p/v0.28/Makefile | 13 + perf/impl/go-libp2p/v0.28/go.mod | 94 + perf/impl/go-libp2p/v0.28/go.sum | 449 +++++ perf/impl/go-libp2p/v0.28/main.go | 114 ++ perf/impl/go-libp2p/v0.28/perf.go | 114 ++ perf/runner/benchmark-results.json | 2554 ++++++++++++++++---------- perf/runner/src/versions.ts | 5 + 10 files changed, 2435 insertions(+), 927 deletions(-) create mode 100644 perf/impl/go-libp2p/v0.28/.gitignore create mode 100644 perf/impl/go-libp2p/v0.28/Dockerfile create mode 100644 perf/impl/go-libp2p/v0.28/Makefile create mode 100644 perf/impl/go-libp2p/v0.28/go.mod create mode 100644 perf/impl/go-libp2p/v0.28/go.sum create mode 100644 perf/impl/go-libp2p/v0.28/main.go create mode 100644 perf/impl/go-libp2p/v0.28/perf.go diff --git a/perf/impl/go-libp2p/v0.27/go.mod b/perf/impl/go-libp2p/v0.27/go.mod index 1ddbb04..224a086 100644 --- a/perf/impl/go-libp2p/v0.27/go.mod +++ b/perf/impl/go-libp2p/v0.27/go.mod @@ -1,4 +1,4 @@ -module github.com/libp2p/test-plans/perf/go/v0.27/v2 +module github.com/libp2p/test-plans/perf/impl/go-libp2p/v0.27 go 1.19 diff --git a/perf/impl/go-libp2p/v0.28/.gitignore b/perf/impl/go-libp2p/v0.28/.gitignore new file mode 100644 index 0000000..79512b4 --- /dev/null +++ b/perf/impl/go-libp2p/v0.28/.gitignore @@ -0,0 +1,3 @@ +perf +.cache +v0.28 diff --git a/perf/impl/go-libp2p/v0.28/Dockerfile b/perf/impl/go-libp2p/v0.28/Dockerfile new file mode 100644 index 0000000..5bb5b5a --- /dev/null +++ b/perf/impl/go-libp2p/v0.28/Dockerfile @@ -0,0 +1,14 @@ +# Build Go Binary +FROM golang:1.20-alpine AS builder + +WORKDIR /app +COPY go.mod go.sum ./ +RUN go mod download +COPY *.go ./ +RUN go build -o perf . + +FROM alpine + +COPY --from=builder /app/perf /app/perf + +ENTRYPOINT [ "/app/perf" ] diff --git a/perf/impl/go-libp2p/v0.28/Makefile b/perf/impl/go-libp2p/v0.28/Makefile new file mode 100644 index 0000000..b107948 --- /dev/null +++ b/perf/impl/go-libp2p/v0.28/Makefile @@ -0,0 +1,13 @@ +GO_FILES := $(wildcard *.go) + +all: perf + +perf: $(GO_FILES) + docker run --rm --user "$(shell id -u):$(shell id -g)" -v "$(shell pwd)":/usr/src/myapp -w /usr/src/myapp -e GOCACHE=/usr/src/myapp/.cache golang:1.20 go build -o perf . + +clean: + rm perf + rm .cache + rm v0.28 + +.PHONY: all clean diff --git a/perf/impl/go-libp2p/v0.28/go.mod b/perf/impl/go-libp2p/v0.28/go.mod new file mode 100644 index 0000000..159150f --- /dev/null +++ b/perf/impl/go-libp2p/v0.28/go.mod @@ -0,0 +1,94 @@ +module github.com/libp2p/test-plans/perf/impl/go-libp2p/v0.28 + +go 1.19 + +require ( + github.com/ipfs/go-log/v2 v2.5.1 + github.com/libp2p/go-buffer-pool v0.1.0 + github.com/libp2p/go-libp2p v0.28.1 + github.com/multiformats/go-multiaddr v0.9.0 +) + +require ( + github.com/benbjohnson/clock v1.3.5 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/containerd/cgroups v1.1.0 // indirect + github.com/coreos/go-systemd/v22 v22.5.0 // indirect + github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect + github.com/docker/go-units v0.5.0 // indirect + github.com/elastic/gosigar v0.14.2 // indirect + github.com/flynn/noise v1.0.0 // indirect + github.com/francoispqt/gojay v1.2.13 // indirect + github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect + github.com/godbus/dbus/v5 v5.1.0 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/mock v1.6.0 // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/google/gopacket v1.1.19 // indirect + github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 // indirect + github.com/gorilla/websocket v1.5.0 // indirect + github.com/huin/goupnp v1.2.0 // indirect + github.com/ipfs/go-cid v0.4.1 // indirect + github.com/jackpal/go-nat-pmp v1.0.2 // indirect + github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect + github.com/klauspost/compress v1.16.5 // indirect + github.com/klauspost/cpuid/v2 v2.2.5 // indirect + github.com/koron/go-ssdp v0.0.4 // indirect + github.com/libp2p/go-cidranger v1.1.0 // indirect + github.com/libp2p/go-flow-metrics v0.1.0 // indirect + github.com/libp2p/go-libp2p-asn-util v0.3.0 // indirect + github.com/libp2p/go-msgio v0.3.0 // indirect + github.com/libp2p/go-nat v0.2.0 // indirect + github.com/libp2p/go-netroute v0.2.1 // indirect + github.com/libp2p/go-reuseport v0.3.0 // indirect + github.com/libp2p/go-yamux/v4 v4.0.0 // indirect + github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect + github.com/mattn/go-isatty v0.0.19 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect + github.com/miekg/dns v1.1.54 // indirect + github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect + github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect + github.com/minio/sha256-simd v1.0.1 // indirect + github.com/mr-tron/base58 v1.2.0 // indirect + github.com/multiformats/go-base32 v0.1.0 // indirect + github.com/multiformats/go-base36 v0.2.0 // indirect + github.com/multiformats/go-multiaddr-dns v0.3.1 // indirect + github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect + github.com/multiformats/go-multibase v0.2.0 // indirect + github.com/multiformats/go-multicodec v0.9.0 // indirect + github.com/multiformats/go-multihash v0.2.2 // indirect + github.com/multiformats/go-multistream v0.4.1 // indirect + github.com/multiformats/go-varint v0.0.7 // indirect + github.com/onsi/ginkgo/v2 v2.9.7 // indirect + github.com/opencontainers/runtime-spec v1.0.2 // indirect + github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/prometheus/client_golang v1.14.0 // indirect + github.com/prometheus/client_model v0.4.0 // indirect + github.com/prometheus/common v0.42.0 // indirect + github.com/prometheus/procfs v0.9.0 // indirect + github.com/quic-go/qpack v0.4.0 // indirect + github.com/quic-go/qtls-go1-19 v0.3.2 // indirect + github.com/quic-go/qtls-go1-20 v0.2.2 // indirect + github.com/quic-go/quic-go v0.33.0 // indirect + github.com/quic-go/webtransport-go v0.5.3 // indirect + github.com/raulk/go-watchdog v1.3.0 // indirect + github.com/spaolacci/murmur3 v1.1.0 // indirect + go.uber.org/atomic v1.11.0 // indirect + go.uber.org/dig v1.17.0 // indirect + go.uber.org/fx v1.19.2 // indirect + go.uber.org/multierr v1.11.0 // indirect + go.uber.org/zap v1.24.0 // indirect + golang.org/x/crypto v0.7.0 // indirect + golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect + golang.org/x/mod v0.10.0 // indirect + golang.org/x/net v0.10.0 // indirect + golang.org/x/sync v0.2.0 // indirect + golang.org/x/sys v0.8.0 // indirect + golang.org/x/text v0.9.0 // indirect + golang.org/x/tools v0.9.1 // indirect + google.golang.org/protobuf v1.30.0 // indirect + lukechampine.com/blake3 v1.2.1 // indirect +) diff --git a/perf/impl/go-libp2p/v0.28/go.sum b/perf/impl/go-libp2p/v0.28/go.sum new file mode 100644 index 0000000..86084aa --- /dev/null +++ b/perf/impl/go-libp2p/v0.28/go.sum @@ -0,0 +1,449 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.37.0/go.mod h1:TS1dMSSfndXH133OKGwekG838Om/cQT0BUHV3HcBgoo= +dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= +dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= +dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= +dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= +git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= +github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= +github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/containerd/cgroups v0.0.0-20201119153540-4cbc285b3327/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= +github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM= +github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= +github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= +github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6UhI8N9EjYm1c2odKpFpAYeR8dsBeM7PtzQhRgxRr9U= +github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/elastic/gosigar v0.12.0/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= +github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/4= +github.com/elastic/gosigar v0.14.2/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/flynn/noise v1.0.0 h1:DlTHqmzmvcEiKj+4RYo/imoswx/4r6iBlCMfVtrMXpQ= +github.com/flynn/noise v1.0.0/go.mod h1:xbMo+0i6+IGbYdJhF31t2eR1BIU0CYc12+BNAKwUTag= +github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= +github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= +github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8= +github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 h1:hR7/MlvK23p6+lIw9SN1TigNLn9ZnF3W4SYRKq2gAHs= +github.com/google/pprof v0.0.0-20230602150820-91b7bce49751/go.mod h1:Jh3hGz2jkYak8qXPD19ryItVnUgpgeqzdkY/D0EaeuA= +github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= +github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= +github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= +github.com/huin/goupnp v1.2.0 h1:uOKW26NG1hsSSbXIZ1IR7XP9Gjd1U8pnLaCMgntmkmY= +github.com/huin/goupnp v1.2.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= +github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s= +github.com/ipfs/go-cid v0.4.1/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk= +github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk= +github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps= +github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= +github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= +github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= +github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk= +github.com/jbenet/go-temp-err-catcher v0.1.0/go.mod h1:0kJRvmDZXNMIiJirNPEYfhpPwbGVtZVWC34vc5WLsDk= +github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI= +github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= +github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/koron/go-ssdp v0.0.4 h1:1IDwrghSKYM7yLf7XCzbByg2sJ/JcNOZRXS2jczTwz0= +github.com/koron/go-ssdp v0.0.4/go.mod h1:oDXq+E5IL5q0U8uSBcoAXzTzInwy5lEgC91HoKtbmZk= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= +github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= +github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c= +github.com/libp2p/go-cidranger v1.1.0/go.mod h1:KWZTfSr+r9qEo9OkI9/SIEeAtw+NNoU0dXIXt15Okic= +github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFGkx3Q3WM= +github.com/libp2p/go-flow-metrics v0.1.0/go.mod h1:4Xi8MX8wj5aWNDAZttg6UPmc0ZrnFNsMtpsYUClFtro= +github.com/libp2p/go-libp2p v0.28.1 h1:YurK+ZAI6cKfASLJBVFkpVBdl3wGhFi6fusOt725ii8= +github.com/libp2p/go-libp2p v0.28.1/go.mod h1:s3Xabc9LSwOcnv9UD4nORnXKTsWkPMkIMB/JIGXVnzk= +github.com/libp2p/go-libp2p-asn-util v0.3.0 h1:gMDcMyYiZKkocGXDQ5nsUQyquC9+H+iLEQHwOCZ7s8s= +github.com/libp2p/go-libp2p-asn-util v0.3.0/go.mod h1:B1mcOrKUE35Xq/ASTmQ4tN3LNzVVaMNmq2NACuqyB9w= +github.com/libp2p/go-libp2p-testing v0.12.0 h1:EPvBb4kKMWO29qP4mZGyhVzUyR25dvfUIK5WDu6iPUA= +github.com/libp2p/go-msgio v0.3.0 h1:mf3Z8B1xcFN314sWX+2vOTShIE0Mmn2TXn3YCUQGNj0= +github.com/libp2p/go-msgio v0.3.0/go.mod h1:nyRM819GmVaF9LX3l03RMh10QdOroF++NBbxAb0mmDM= +github.com/libp2p/go-nat v0.2.0 h1:Tyz+bUFAYqGyJ/ppPPymMGbIgNRH+WqC5QrT5fKrrGk= +github.com/libp2p/go-nat v0.2.0/go.mod h1:3MJr+GRpRkyT65EpVPBstXLvOlAPzUVlG6Pwg9ohLJk= +github.com/libp2p/go-netroute v0.2.1 h1:V8kVrpD8GK0Riv15/7VN6RbUQ3URNZVosw7H2v9tksU= +github.com/libp2p/go-netroute v0.2.1/go.mod h1:hraioZr0fhBjG0ZRXJJ6Zj2IVEVNx6tDTFQfSmcq7mQ= +github.com/libp2p/go-reuseport v0.3.0 h1:iiZslO5byUYZEg9iCwJGf5h+sf1Agmqx2V2FDjPyvUw= +github.com/libp2p/go-reuseport v0.3.0/go.mod h1:laea40AimhtfEqysZ71UpYj4S+R9VpH8PgqLo7L+SwI= +github.com/libp2p/go-yamux/v4 v4.0.0 h1:+Y80dV2Yx/kv7Y7JKu0LECyVdMXm1VUoko+VQ9rBfZQ= +github.com/libp2p/go-yamux/v4 v4.0.0/go.mod h1:NWjl8ZTLOGlozrXSOZ/HlfG++39iKNnM5wwmtQP1YB4= +github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= +github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk= +github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd/go.mod h1:QuCEs1Nt24+FYQEqAAncTDPJIuGs+LxK1MCiFL25pMU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/dns v1.1.54 h1:5jon9mWcb0sFJGpnI99tOMhCPyJ+RPVz5b63MQG0VWI= +github.com/miekg/dns v1.1.54/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY= +github.com/mikioh/tcp v0.0.0-20190314235350-803a9b46060c h1:bzE/A84HN25pxAuk9Eej1Kz9OUelF97nAc82bDquQI8= +github.com/mikioh/tcp v0.0.0-20190314235350-803a9b46060c/go.mod h1:0SQS9kMwD2VsyFEB++InYyBJroV/FRmBgcydeSUcJms= +github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc= +github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b/go.mod h1:lxPUiZwKoFL8DUUmalo2yJJUCxbPKtm8OKfqr2/FTNU= +github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc h1:PTfri+PuQmWDqERdnNMiD9ZejrlswWrCpBEZgWOiTrc= +github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc/go.mod h1:cGKTAVKx4SxOuR/czcZ/E2RSJ3sfHs8FpHhQ5CWMf9s= +github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= +github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= +github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= +github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mr-tron/base58 v1.1.2/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= +github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= +github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= +github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE= +github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= +github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0= +github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= +github.com/multiformats/go-multiaddr v0.1.1/go.mod h1:aMKBKNEYmzmDmxfX88/vz+J5IU55txyt0p4aiWVohjo= +github.com/multiformats/go-multiaddr v0.2.0/go.mod h1:0nO36NvPpyV4QzvTLi/lafl2y95ncPj0vFwVF6k6wJ4= +github.com/multiformats/go-multiaddr v0.9.0 h1:3h4V1LHIk5w4hJHekMKWALPXErDfz/sggzwC/NcqbDQ= +github.com/multiformats/go-multiaddr v0.9.0/go.mod h1:mI67Lb1EeTOYb8GQfL/7wpIZwc46ElrvzhYnoJOmTT0= +github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A= +github.com/multiformats/go-multiaddr-dns v0.3.1/go.mod h1:G/245BRQ6FJGmryJCrOuTdB37AMA5AMOVuO6NY3JwTk= +github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E= +github.com/multiformats/go-multiaddr-fmt v0.1.0/go.mod h1:hGtDIW4PU4BqJ50gW2quDuPVjyWNZxToGUh/HwTZYJo= +github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g= +github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk= +github.com/multiformats/go-multicodec v0.9.0 h1:pb/dlPnzee/Sxv/j4PmkDRxCOi3hXTz3IbPKOXWJkmg= +github.com/multiformats/go-multicodec v0.9.0/go.mod h1:L3QTQvMIaVBkXOXXtVmYE+LI16i14xuaojr/H7Ai54k= +github.com/multiformats/go-multihash v0.0.8/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew= +github.com/multiformats/go-multihash v0.2.2 h1:Uu7LWs/PmWby1gkj1S1DXx3zyd3aVabA4FiMKn/2tAc= +github.com/multiformats/go-multihash v0.2.2/go.mod h1:dXgKXCXjBzdscBLk9JkjINiEsCKRVch90MdaGiKsvSM= +github.com/multiformats/go-multistream v0.4.1 h1:rFy0Iiyn3YT0asivDUIR05leAdwZq3de4741sbiSdfo= +github.com/multiformats/go-multistream v0.4.1/go.mod h1:Mz5eykRVAjJWckE2U78c6xqdtyNUEhKSM0Lwar2p77Q= +github.com/multiformats/go-varint v0.0.1/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= +github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= +github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= +github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= +github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= +github.com/onsi/ginkgo/v2 v2.9.7 h1:06xGQy5www2oN160RtEZoTvnP2sPhEfePYmCDc2szss= +github.com/onsi/ginkgo/v2 v2.9.7/go.mod h1:cxrmXWykAwTwhQsJOPfdIDiJ+l2RYq7U8hFU+M/1uw0= +github.com/onsi/gomega v1.27.7 h1:fVih9JD6ogIiHUN6ePK7HJidyEDpWGVB5mzM7cWNXoU= +github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0= +github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= +github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0= +github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= +github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= +github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= +github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= +github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= +github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= +github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= +github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= +github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= +github.com/quic-go/qtls-go1-19 v0.3.2 h1:tFxjCFcTQzK+oMxG6Zcvp4Dq8dx4yD3dDiIiyc86Z5U= +github.com/quic-go/qtls-go1-19 v0.3.2/go.mod h1:ySOI96ew8lnoKPtSqx2BlI5wCpUVPT05RMAlajtnyOI= +github.com/quic-go/qtls-go1-20 v0.2.2 h1:WLOPx6OY/hxtTxKV1Zrq20FtXtDEkeY00CGQm8GEa3E= +github.com/quic-go/qtls-go1-20 v0.2.2/go.mod h1:JKtK6mjbAVcUTN/9jZpvLbGxvdWIKS8uT7EiStoU1SM= +github.com/quic-go/quic-go v0.33.0 h1:ItNoTDN/Fm/zBlq769lLJc8ECe9gYaW40veHCCco7y0= +github.com/quic-go/quic-go v0.33.0/go.mod h1:YMuhaAV9/jIu0XclDXwZPAsP/2Kgr5yMYhe9oxhhOFA= +github.com/quic-go/webtransport-go v0.5.3 h1:5XMlzemqB4qmOlgIus5zB45AcZ2kCgCy2EptUrfOPWU= +github.com/quic-go/webtransport-go v0.5.3/go.mod h1:OhmmgJIzTTqXK5xvtuX0oBpLV2GkLWNDA+UeTGJXErU= +github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk= +github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY= +github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= +github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0= +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d/go.mod h1:05UtEgK5zq39gLST6uB0cf3NEHjETfB4Fgr3Gx5R9Vw= +github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c/go.mod h1:8d3azKNyqcHP1GaQE/c6dDgjkgSx2BZ4IoEi4F1reUI= +github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b/go.mod h1:ZpfEhSmds4ytuByIcDnOLkTHGUI6KNqRNPDLHDk+mUU= +github.com/shurcooL/highlight_go v0.0.0-20181028180052-98c3abbbae20/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag= +github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9/go.mod h1:+rgNQw2P9ARFAs37qieuu7ohDNQ3gds9msbT2yn85sg= +github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50/go.mod h1:zPn1wHpTIePGnXSHpsVPWEktKXHr6+SS6x/IKRb7cpw= +github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc/go.mod h1:aYMfkZ6DWSJPJ6c4Wwz3QtW22G7mf/PEgaB9k/ik5+Y= +github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= +github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9/go.mod h1:919LwcH0M7/W4fcZ0/jy0qGght1GIhqyS/EgWGH2j5Q= +github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191/go.mod h1:e2qWDig5bLteJ4fwvDAc2NHzqFEthkqn7aOZAOpj+PQ= +github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241/go.mod h1:NPpHK2TI7iSaM0buivtFUc9offApnI0Alt/K8hcHy0I= +github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122/go.mod h1:b5uSkrEVM1jQUspwbixRBhaIjIzL2xazXp6kntxYle0= +github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= +github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1lToEk4d2s07G3XGfz2QrgHXg4RJBvjrOozvoWfk= +github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4= +github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= +github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= +github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= +github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/viant/assertly v0.4.8/go.mod h1:aGifi++jvCrUaklKEKT0BU95igDNaqkvz+49uaYMPRU= +github.com/viant/toolbox v0.24.0/go.mod h1:OxMCG57V0PXuIP2HNQrtJf2CjqdmbrOx5EkMILuUhzM= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= +go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/dig v1.17.0 h1:5Chju+tUvcC+N7N6EV08BJz41UZuO3BmHcN4A287ZLI= +go.uber.org/dig v1.17.0/go.mod h1:rTxpf7l5I0eBTlE6/9RL+lDybC7WFwY2QH55ZSjy1mU= +go.uber.org/fx v1.19.2 h1:SyFgYQFr1Wl0AYstE8vyYIzP4bFz2URrScjwC4cwUvY= +go.uber.org/fx v1.19.2/go.mod h1:43G1VcqSzbIv77y00p1DRAsyZS8WdzuYdhZXmEUkMyQ= +go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= +go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= +go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= +go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= +golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= +golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200602180216-279210d13fed/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug= +golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= +golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181029044818-c44066c5c816/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= +golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180810173357-98c5dad5d1a0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190316082340-a2f829d7f35f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030000716-a0a13e073c7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo= +golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= +google.golang.org/genproto v0.0.0-20190306203927-b5d61aea6440/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI= +lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k= +sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= +sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= diff --git a/perf/impl/go-libp2p/v0.28/main.go b/perf/impl/go-libp2p/v0.28/main.go new file mode 100644 index 0000000..cd05a20 --- /dev/null +++ b/perf/impl/go-libp2p/v0.28/main.go @@ -0,0 +1,114 @@ +package main + +import ( + "context" + "encoding/json" + "flag" + "fmt" + "net" + "time" + + "github.com/libp2p/go-libp2p" + "github.com/libp2p/go-libp2p/core/crypto" + "github.com/libp2p/go-libp2p/core/peer" + "github.com/multiformats/go-multiaddr" +) + +func main() { + runServer := flag.Bool("run-server", false, "Should run as server") + serverAddr := flag.String("server-address", "", "Server address") + transport := flag.String("transport", "tcp", "Transport to use") + uploadBytes := flag.Uint64("upload-bytes", 0, "Upload bytes") + downloadBytes := flag.Uint64("download-bytes", 0, "Download bytes") + flag.Parse() + + host, port, err := net.SplitHostPort(*serverAddr) + if err != nil { + log.Fatal(err) + } + + tcpMultiAddrStr := fmt.Sprintf("/ip4/%s/tcp/%s", host, port) + quicMultiAddrStr := fmt.Sprintf("/ip4/%s/udp/%s/quic-v1", host, port) + + var opts []libp2p.Option + if *runServer { + opts = append(opts, libp2p.ListenAddrStrings(tcpMultiAddrStr, quicMultiAddrStr)) + + // Generate stable fake identity. + // + // Using a stable identity (i.e. peer ID) allows the client to + // connect to the server without a prior exchange of the + // server's peer ID. + priv, _, err := crypto.GenerateEd25519Key(&simpleReader{seed: 0}) + if err != nil { + log.Fatalf("failed to generate key: %s", err) + } + opts = append(opts, libp2p.Identity(priv)) + } + + h, err := libp2p.New(opts...) + if err != nil { + log.Fatalf("failed to instantiate libp2p: %s", err) + } + + perf := NewPerfService(h) + if *runServer { + for _, a := range h.Addrs() { + fmt.Println(a.Encapsulate(multiaddr.StringCast("/p2p/" + h.ID().String()))) + } + + select {} // run forever, exit on interrupt + } + + var multiAddrStr string + switch *transport { + case "tcp": + multiAddrStr = tcpMultiAddrStr + case "quic-v1": + multiAddrStr = quicMultiAddrStr + default: + fmt.Println("Invalid transport. Accepted values: 'tcp' or 'quic-v1'") + return + } + // Peer ID corresponds to the above fake identity. + multiAddrStr = multiAddrStr + "/p2p/12D3KooWDpJ7As7BWAwRMfu1VU2WCqNjvq387JEYKDBj4kx6nXTN" + serverInfo, err := peer.AddrInfoFromString(multiAddrStr) + if err != nil { + log.Fatalf("failed to build address info: %s", err) + } + + start := time.Now() + err = h.Connect(context.Background(), *serverInfo) + if err != nil { + log.Fatalf("failed to dial peer: %s", err) + } + + err = perf.RunPerf(context.Background(), serverInfo.ID, uint64(*uploadBytes), uint64(*downloadBytes)) + if err != nil { + log.Fatalf("failed to execute perf: %s", err) + } + + jsonB, err := json.Marshal(Result{ + Latency: time.Since(start).Seconds(), + }) + if err != nil { + log.Fatalf("failed to marshal perf result: %s", err) + } + + fmt.Println(string(jsonB)) +} + +type Result struct { + Latency float64 `json:"latency"` +} + +type simpleReader struct { + seed uint8 +} + +func (r *simpleReader) Read(p []byte) (n int, err error) { + for i := range p { + p[i] = r.seed + } + return len(p), nil +} diff --git a/perf/impl/go-libp2p/v0.28/perf.go b/perf/impl/go-libp2p/v0.28/perf.go new file mode 100644 index 0000000..55f8ad3 --- /dev/null +++ b/perf/impl/go-libp2p/v0.28/perf.go @@ -0,0 +1,114 @@ +package main + +import ( + "context" + "encoding/binary" + "fmt" + "io" + + logging "github.com/ipfs/go-log/v2" + pool "github.com/libp2p/go-buffer-pool" + "github.com/libp2p/go-libp2p/core/host" + "github.com/libp2p/go-libp2p/core/network" + "github.com/libp2p/go-libp2p/core/peer" +) + +var log = logging.Logger("perf") + +const ( + ID = "/perf/1.0.0" + blockSize = 64 << 10 +) + +type PerfService struct { + Host host.Host +} + +func NewPerfService(h host.Host) *PerfService { + ps := &PerfService{h} + h.SetStreamHandler(ID, ps.PerfHandler) + return ps +} + +func (ps *PerfService) PerfHandler(s network.Stream) { + u64Buf := make([]byte, 8) + if _, err := io.ReadFull(s, u64Buf); err != nil { + log.Errorw("err", err) + s.Reset() + return + } + + bytesToSend := binary.BigEndian.Uint64(u64Buf) + + if _, err := drainStream(s); err != nil { + log.Errorw("err", err) + s.Reset() + return + } + + if err := sendBytes(s, bytesToSend); err != nil { + log.Errorw("err", err) + s.Reset() + return + } + s.CloseWrite() +} + +func (ps *PerfService) RunPerf(ctx context.Context, p peer.ID, bytesToSend uint64, bytesToRecv uint64) error { + s, err := ps.Host.NewStream(ctx, p, ID) + if err != nil { + return err + } + + sizeBuf := make([]byte, 8) + binary.BigEndian.PutUint64(sizeBuf, bytesToRecv) + + _, err = s.Write(sizeBuf) + if err != nil { + return err + } + + if err := sendBytes(s, bytesToSend); err != nil { + return err + } + s.CloseWrite() + + recvd, err := drainStream(s) + if err != nil { + return err + } + + if recvd != bytesToRecv { + return fmt.Errorf("expected to recv %d bytes, got %d", bytesToRecv, recvd) + } + + return nil +} + +func sendBytes(s io.Writer, bytesToSend uint64) error { + buf := pool.Get(blockSize) + defer pool.Put(buf) + + for bytesToSend > 0 { + toSend := buf + if bytesToSend < blockSize { + toSend = buf[:bytesToSend] + } + + n, err := s.Write(toSend) + if err != nil { + return err + } + bytesToSend -= uint64(n) + } + return nil +} + +func drainStream(s io.Reader) (uint64, error) { + var recvd int64 + recvd, err := io.Copy(io.Discard, s) + if err != nil && err != io.EOF { + return uint64(recvd), err + } + return uint64(recvd), nil +} diff --git a/perf/runner/benchmark-results.json b/perf/runner/benchmark-results.json index a7099c0..e3f71c5 100644 --- a/perf/runner/benchmark-results.json +++ b/perf/runner/benchmark-results.json @@ -7,19 +7,19 @@ { "result": [ { - "latency": 1.089163438 + "latency": 1.08094152 }, { - "latency": 1.073140141 + "latency": 1.087286254 }, { - "latency": 1.092413254 + "latency": 1.052877736 }, { - "latency": 1.0698477 + "latency": 1.074129332 }, { - "latency": 1.07078984 + "latency": 1.089036911 } ], "implementation": "quic-go", @@ -29,19 +29,19 @@ { "result": [ { - "latency": 45.273421797 + "latency": 46.275367123 }, { - "latency": 47.888878312 + "latency": 44.16152915 }, { - "latency": 44.065128767 + "latency": 44.813941029 }, { - "latency": 48.282910529 + "latency": 42.987746422 }, { - "latency": 45.498755791 + "latency": 45.509402053 } ], "implementation": "rust-libp2p", @@ -51,19 +51,19 @@ { "result": [ { - "latency": 10.259611927 + "latency": 12.896335487 }, { - "latency": 6.97696991 + "latency": 9.694788327 }, { - "latency": 6.313410241 + "latency": 15.055043707 }, { - "latency": 11.681981744 + "latency": 12.528458517 }, { - "latency": 16.21113012 + "latency": 11.922201399 } ], "implementation": "rust-libp2p", @@ -73,19 +73,19 @@ { "result": [ { - "latency": 1.4748042510000001 + "latency": 1.5015372230000001 }, { - "latency": 1.421224037 + "latency": 1.478589693 }, { - "latency": 1.4923433400000001 + "latency": 1.488727041 }, { - "latency": 1.484234063 + "latency": 1.458797558 }, { - "latency": 1.512597599 + "latency": 1.5399592819999999 } ], "implementation": "rust-libp2p-quinn", @@ -95,19 +95,19 @@ { "result": [ { - "latency": 2.972323978 + "latency": 2.896000246 }, { - "latency": 2.696220451 + "latency": 2.929661431 }, { - "latency": 2.802687287 + "latency": 2.662874053 }, { - "latency": 2.920361255 + "latency": 2.771636908 }, { - "latency": 2.703010861 + "latency": 2.804402263 } ], "implementation": "https", @@ -117,19 +117,19 @@ { "result": [ { - "latency": 3.167962882 + "latency": 3.2987959780000002 }, { - "latency": 3.4471643690000002 + "latency": 3.359852647 }, { - "latency": 3.4640786009999998 + "latency": 3.225796396 }, { - "latency": 3.145722324 + "latency": 3.040832462 }, { - "latency": 3.536917435 + "latency": 3.200671148 } ], "implementation": "go-libp2p", @@ -139,24 +139,68 @@ { "result": [ { - "latency": 1.5263650229999999 + "latency": 1.536351493 }, { - "latency": 1.509688272 + "latency": 1.450335247 }, { - "latency": 1.474257421 + "latency": 1.461686524 }, { - "latency": 1.436329921 + "latency": 1.50244321 }, { - "latency": 1.5185167179999999 + "latency": 1.440298147 } ], "implementation": "go-libp2p", "version": "v0.27", "transportStack": "quic-v1" + }, + { + "result": [ + { + "latency": 3.292747438 + }, + { + "latency": 3.604178575 + }, + { + "latency": 3.370398934 + }, + { + "latency": 3.04126853 + }, + { + "latency": 3.154630607 + } + ], + "implementation": "go-libp2p", + "version": "v0.28", + "transportStack": "tcp" + }, + { + "result": [ + { + "latency": 1.472890121 + }, + { + "latency": 1.480030417 + }, + { + "latency": 1.481909157 + }, + { + "latency": 1.505205532 + }, + { + "latency": 1.5185867769999999 + } + ], + "implementation": "go-libp2p", + "version": "v0.28", + "transportStack": "quic-v1" } ], "parameters": { @@ -171,19 +215,19 @@ { "result": [ { - "latency": 1.126518966 + "latency": 1.160973869 }, { - "latency": 1.118475179 + "latency": 1.094158958 }, { - "latency": 1.129681525 + "latency": 1.155310345 }, { - "latency": 1.146352167 + "latency": 1.130414626 }, { - "latency": 1.104298922 + "latency": 1.118341789 } ], "implementation": "quic-go", @@ -193,19 +237,19 @@ { "result": [ { - "latency": 43.865104152 + "latency": 44.721030184 }, { - "latency": 47.064488992 + "latency": 47.431712827 }, { - "latency": 44.090104578 + "latency": 48.403507494 }, { - "latency": 48.396326920999996 + "latency": 45.358269306 }, { - "latency": 48.422155604 + "latency": 47.727786848 } ], "implementation": "rust-libp2p", @@ -215,19 +259,19 @@ { "result": [ { - "latency": 15.218780544 + "latency": 11.965871734 }, { - "latency": 13.081463441 + "latency": 14.406809825 }, { - "latency": 11.000094613 + "latency": 8.30056158 }, { - "latency": 6.51186057 + "latency": 5.780795755 }, { - "latency": 11.331908448 + "latency": 15.876088915 } ], "implementation": "rust-libp2p", @@ -237,19 +281,19 @@ { "result": [ { - "latency": 1.48602608 + "latency": 1.478477048 }, { - "latency": 1.481363488 + "latency": 1.4088579110000001 }, { - "latency": 1.449341325 + "latency": 1.462640778 }, { - "latency": 1.504867138 + "latency": 1.519567228 }, { - "latency": 1.47313451 + "latency": 1.742330848 } ], "implementation": "rust-libp2p-quinn", @@ -259,19 +303,19 @@ { "result": [ { - "latency": 2.774002117 + "latency": 2.7529987030000003 }, { - "latency": 2.764803904 + "latency": 2.741991725 }, { - "latency": 2.671047053 + "latency": 3.377649911 }, { - "latency": 2.63024296 + "latency": 2.716085671 }, { - "latency": 2.801801962 + "latency": 2.793655924 } ], "implementation": "https", @@ -281,19 +325,19 @@ { "result": [ { - "latency": 3.190488386 + "latency": 3.202764361 }, { - "latency": 3.411670796 + "latency": 3.24477181 }, { - "latency": 3.358084792 + "latency": 3.265170976 }, { - "latency": 3.541594134 + "latency": 3.053783908 }, { - "latency": 3.224666796 + "latency": 3.157173875 } ], "implementation": "go-libp2p", @@ -303,24 +347,68 @@ { "result": [ { - "latency": 1.506189631 + "latency": 1.458829041 }, { - "latency": 1.436941623 + "latency": 1.416086744 }, { - "latency": 1.5130232019999998 + "latency": 1.538248438 }, { - "latency": 1.436359458 + "latency": 1.485502811 }, { - "latency": 7.50142514 + "latency": 1.4275898790000001 } ], "implementation": "go-libp2p", "version": "v0.27", "transportStack": "quic-v1" + }, + { + "result": [ + { + "latency": 3.249207329 + }, + { + "latency": 3.264592977 + }, + { + "latency": 3.29566662 + }, + { + "latency": 3.3698549460000002 + }, + { + "latency": 3.311083258 + } + ], + "implementation": "go-libp2p", + "version": "v0.28", + "transportStack": "tcp" + }, + { + "result": [ + { + "latency": 1.496852642 + }, + { + "latency": 1.509418385 + }, + { + "latency": 1.54601657 + }, + { + "latency": 1.441479083 + }, + { + "latency": 1.471796599 + } + ], + "implementation": "go-libp2p", + "version": "v0.28", + "transportStack": "quic-v1" } ], "parameters": { @@ -335,304 +423,304 @@ { "result": [ { - "latency": 0.124505378 + "latency": 0.127214229 }, { - "latency": 0.123507272 + "latency": 0.12967814 }, { - "latency": 0.128361262 + "latency": 0.126023587 }, { - "latency": 0.122621238 + "latency": 0.124388557 }, { - "latency": 0.131911723 + "latency": 0.129199817 }, { - "latency": 0.12826431 + "latency": 0.126108492 }, { - "latency": 0.128880681 + "latency": 0.125744101 }, { - "latency": 0.124449259 + "latency": 0.125355319 }, { - "latency": 0.125871107 + "latency": 0.122530093 }, { - "latency": 0.122762879 + "latency": 0.122319334 }, { - "latency": 0.126629308 + "latency": 0.127329778 }, { - "latency": 0.126522502 + "latency": 0.123965598 }, { - "latency": 0.125500917 + "latency": 0.130539887 }, { - "latency": 0.123300641 + "latency": 0.130414585 }, { - "latency": 0.125217973 + "latency": 0.121935898 }, { - "latency": 0.127126926 + "latency": 0.131279504 }, { - "latency": 0.123303591 + "latency": 0.123368608 }, { - "latency": 0.125056704 + "latency": 0.124856386 }, { - "latency": 0.122072976 + "latency": 0.124805535 }, { - "latency": 0.129341243 + "latency": 0.127433649 }, { - "latency": 0.127575843 + "latency": 0.125869099 }, { - "latency": 0.127904913 + "latency": 0.127532621 }, { - "latency": 0.123418496 + "latency": 0.130556971 }, { - "latency": 0.121984978 + "latency": 0.124882321 }, { - "latency": 0.126993306 + "latency": 0.123306999 }, { - "latency": 0.129280612 + "latency": 0.122141899 }, { - "latency": 0.12474134 + "latency": 0.122460116 }, { - "latency": 0.127936098 + "latency": 0.127692498 }, { - "latency": 0.12673381 + "latency": 0.12566607 }, { - "latency": 0.127438003 + "latency": 0.124917696 }, { - "latency": 0.124471246 + "latency": 0.123668866 }, { - "latency": 0.132203778 + "latency": 0.132010442 }, { - "latency": 0.130657916 + "latency": 0.125565141 }, { - "latency": 0.128125495 + "latency": 0.128188401 }, { - "latency": 0.124296967 + "latency": 0.12066406 }, { - "latency": 0.129235874 + "latency": 0.123627896 }, { - "latency": 0.13049939 + "latency": 0.129437242 }, { - "latency": 0.124897633 + "latency": 0.127506578 }, { - "latency": 0.131088615 + "latency": 0.128856668 }, { - "latency": 0.127795623 + "latency": 0.122323995 }, { - "latency": 0.128448128 + "latency": 0.126765529 }, { - "latency": 0.124821704 + "latency": 0.130829758 }, { - "latency": 0.126442362 + "latency": 0.129333306 }, { - "latency": 0.123138772 + "latency": 0.128251328 }, { - "latency": 0.129509366 + "latency": 0.130188967 }, { - "latency": 0.124727948 + "latency": 0.127728835 }, { - "latency": 0.125270916 + "latency": 0.123884005 }, { - "latency": 0.1255401 + "latency": 0.128842188 }, { - "latency": 0.125516539 + "latency": 0.1243371 }, { - "latency": 0.123706295 + "latency": 0.130997034 }, { - "latency": 0.122597258 + "latency": 0.125506758 }, { - "latency": 0.130149993 + "latency": 0.123668427 }, { - "latency": 0.126368598 + "latency": 0.118418875 }, { - "latency": 0.127624864 + "latency": 0.127604051 }, { - "latency": 0.129374551 + "latency": 0.126118876 }, { - "latency": 0.125880419 + "latency": 0.128735237 }, { - "latency": 0.125832137 + "latency": 0.128599861 }, { - "latency": 0.12155412 + "latency": 0.123620402 }, { - "latency": 0.124714985 + "latency": 0.132050815 }, { - "latency": 0.129117674 + "latency": 0.127509546 }, { - "latency": 0.127559273 + "latency": 0.123579832 }, { - "latency": 0.129352257 + "latency": 0.124985756 }, { - "latency": 0.131843659 + "latency": 0.12946634 }, { - "latency": 0.126192368 + "latency": 0.12482751 }, { - "latency": 0.130678167 + "latency": 0.12740606 }, { - "latency": 0.130014741 + "latency": 0.125454289 }, { - "latency": 0.124657447 + "latency": 0.128075006 }, { - "latency": 0.129176184 + "latency": 0.127695811 }, { - "latency": 0.128468954 + "latency": 0.131702053 }, { - "latency": 0.130181924 + "latency": 0.120863586 }, { - "latency": 0.127414184 + "latency": 0.126532519 }, { - "latency": 0.127303225 + "latency": 0.123704924 }, { - "latency": 0.12359558 + "latency": 0.129031513 }, { - "latency": 0.123642652 + "latency": 0.129842467 }, { - "latency": 0.125675948 + "latency": 0.127760689 }, { - "latency": 0.129708003 + "latency": 0.126782328 }, { - "latency": 0.126260732 + "latency": 0.130731034 }, { - "latency": 0.129271369 + "latency": 0.125804773 }, { - "latency": 0.128927981 + "latency": 0.124776056 }, { - "latency": 0.123341976 + "latency": 0.127998566 }, { - "latency": 0.123585708 + "latency": 0.126827381 }, { - "latency": 0.125299635 + "latency": 0.125521345 }, { - "latency": 0.127492637 + "latency": 0.127766601 }, { - "latency": 0.129617109 + "latency": 0.126236858 }, { - "latency": 0.123018172 + "latency": 0.12811796 }, { - "latency": 0.123559394 + "latency": 0.125853092 }, { - "latency": 0.129513163 + "latency": 0.124899114 }, { - "latency": 0.131009225 + "latency": 0.118348427 }, { - "latency": 0.128555611 + "latency": 0.128971027 }, { - "latency": 0.121640639 + "latency": 0.123859412 }, { - "latency": 0.12480892 + "latency": 0.126629613 }, { - "latency": 0.128437919 + "latency": 0.12535468 }, { - "latency": 0.126605087 + "latency": 0.12941149 }, { - "latency": 0.131375676 + "latency": 0.120161196 }, { - "latency": 0.123629706 + "latency": 0.126156975 }, { - "latency": 0.130127735 + "latency": 0.124165774 }, { - "latency": 0.12624402 + "latency": 0.125692929 }, { - "latency": 0.121646371 + "latency": 0.126282072 }, { - "latency": 0.123268179 + "latency": 0.123441585 }, { - "latency": 0.130700338 + "latency": 0.131975019 } ], "implementation": "quic-go", @@ -642,304 +730,304 @@ { "result": [ { - "latency": 0.182142109 + "latency": 0.194218846 }, { - "latency": 0.183418869 + "latency": 0.186270807 }, { - "latency": 0.190336514 + "latency": 0.183646139 }, { - "latency": 0.189183544 + "latency": 0.185830033 }, { - "latency": 0.190448597 + "latency": 0.187278833 }, { - "latency": 0.185565373 + "latency": 0.181990901 }, { - "latency": 0.19241759 + "latency": 0.193450157 }, { - "latency": 0.18336685 + "latency": 0.175776862 }, { - "latency": 0.196292274 + "latency": 0.190179796 }, { - "latency": 0.190831235 + "latency": 0.190624762 }, { - "latency": 0.190520245 + "latency": 0.188180435 }, { - "latency": 0.183510279 + "latency": 0.183160381 }, { - "latency": 0.192077921 + "latency": 0.187484724 }, { - "latency": 0.177140708 + "latency": 0.189794546 }, { - "latency": 0.186153297 + "latency": 0.189438642 }, { - "latency": 0.193720369 + "latency": 0.180929822 }, { - "latency": 0.184597678 + "latency": 0.197157803 }, { - "latency": 0.189787222 + "latency": 0.189698213 }, { - "latency": 0.190848864 + "latency": 0.186506144 }, { - "latency": 0.185833888 + "latency": 0.189905996 }, { - "latency": 0.179622145 + "latency": 0.189516847 }, { - "latency": 0.185950133 + "latency": 0.196772492 }, { - "latency": 0.193546567 + "latency": 0.194990298 }, { - "latency": 0.183940226 + "latency": 0.184398152 }, { - "latency": 0.187916448 + "latency": 0.191102594 }, { - "latency": 0.18887184 + "latency": 0.186737444 }, { - "latency": 0.177176334 + "latency": 0.186918269 }, { - "latency": 0.186606359 + "latency": 0.193699948 }, { - "latency": 0.189386055 + "latency": 0.193126678 }, { - "latency": 0.178494779 + "latency": 0.181771317 }, { - "latency": 0.188323537 + "latency": 0.184399188 }, { - "latency": 0.186141735 + "latency": 0.186927694 }, { - "latency": 0.1869658 + "latency": 0.188242836 }, { - "latency": 0.194249366 + "latency": 0.185699879 }, { - "latency": 0.187236752 + "latency": 0.194061017 }, { - "latency": 0.176934938 + "latency": 0.175540397 }, { - "latency": 0.194663586 + "latency": 0.185716205 }, { - "latency": 0.183711071 + "latency": 0.187396906 }, { - "latency": 0.189984427 + "latency": 0.195113239 }, { - "latency": 0.183232165 + "latency": 0.178656007 }, { - "latency": 0.183576968 + "latency": 0.186962654 }, { - "latency": 0.193323702 + "latency": 0.184946524 }, { - "latency": 0.186986711 + "latency": 0.193068853 }, { - "latency": 0.185890529 + "latency": 0.192602635 }, { - "latency": 0.179914275 + "latency": 0.190662601 }, { - "latency": 0.184896773 + "latency": 0.18034776 }, { - "latency": 0.189654162 + "latency": 0.183423135 }, { - "latency": 0.190164815 + "latency": 0.1944447 }, { - "latency": 0.197052122 + "latency": 0.183802957 }, { - "latency": 0.182139597 + "latency": 0.190416596 }, { - "latency": 0.196538185 + "latency": 0.192492188 }, { - "latency": 0.1930329 + "latency": 0.187679272 }, { - "latency": 0.184440821 + "latency": 0.186440217 }, { - "latency": 0.194332335 + "latency": 0.18658919 }, { - "latency": 0.186481446 + "latency": 0.185341831 }, { - "latency": 0.19602474 + "latency": 0.191869498 }, { - "latency": 0.18457142 + "latency": 0.191670622 }, { - "latency": 0.184163845 + "latency": 0.184572974 }, { - "latency": 0.183166516 + "latency": 0.181995951 }, { - "latency": 0.188089178 + "latency": 0.191530767 }, { - "latency": 0.190753109 + "latency": 0.188200087 }, { - "latency": 0.194009121 + "latency": 0.186270991 }, { - "latency": 0.18160685 + "latency": 0.182059885 }, { - "latency": 0.181751918 + "latency": 0.184166603 }, { - "latency": 0.185718414 + "latency": 0.19452269 }, { - "latency": 0.186434768 + "latency": 0.18574282 }, { - "latency": 0.192428796 + "latency": 0.179038632 }, { - "latency": 0.191096623 + "latency": 0.186057472 }, { - "latency": 0.194285859 + "latency": 0.189575057 }, { - "latency": 0.183271124 + "latency": 0.189817901 }, { - "latency": 0.183652231 + "latency": 0.187481631 }, { - "latency": 0.177581764 + "latency": 0.189836409 }, { - "latency": 0.192038252 + "latency": 0.196472354 }, { - "latency": 0.185681352 + "latency": 0.192609945 }, { - "latency": 0.186534748 + "latency": 0.188032994 }, { - "latency": 0.191146252 + "latency": 0.192258865 }, { - "latency": 0.18588408 + "latency": 0.191789064 }, { - "latency": 0.182325286 + "latency": 0.192438002 }, { - "latency": 0.189503391 + "latency": 0.188946734 }, { - "latency": 0.180867623 + "latency": 0.180480858 }, { - "latency": 0.188129589 + "latency": 0.194344815 }, { - "latency": 0.193286007 + "latency": 0.176782124 }, { - "latency": 0.191196184 + "latency": 0.182507605 }, { - "latency": 0.186104078 + "latency": 0.191957028 }, { - "latency": 0.186359139 + "latency": 0.182256689 }, { - "latency": 0.193051604 + "latency": 0.189126101 }, { - "latency": 0.189455076 + "latency": 0.195205855 }, { - "latency": 0.188675599 + "latency": 0.184396175 }, { - "latency": 0.184970505 + "latency": 0.192468737 }, { - "latency": 0.184096101 + "latency": 0.188096391 }, { - "latency": 0.194713781 + "latency": 0.186463049 }, { - "latency": 0.181522647 + "latency": 0.185754725 }, { - "latency": 0.19489057 + "latency": 0.193951898 }, { - "latency": 0.178497205 + "latency": 0.1791366 }, { - "latency": 0.188164147 + "latency": 0.183296858 }, { - "latency": 0.184548293 + "latency": 0.188009287 }, { - "latency": 0.185229968 + "latency": 0.193217943 }, { - "latency": 0.192957235 + "latency": 0.189667543 }, { - "latency": 0.194910025 + "latency": 0.189932026 }, { - "latency": 0.190047297 + "latency": 0.192134304 } ], "implementation": "rust-libp2p", @@ -949,304 +1037,304 @@ { "result": [ { - "latency": 0.125929233 + "latency": 0.124422348 }, { - "latency": 0.121072551 + "latency": 0.128469898 }, { - "latency": 0.125848182 + "latency": 0.122740617 }, { - "latency": 0.129329871 + "latency": 0.125794005 }, { - "latency": 0.128163607 + "latency": 0.12376399 }, { - "latency": 0.118532779 + "latency": 0.121100156 }, { - "latency": 0.129157593 + "latency": 0.123656405 }, { - "latency": 0.125845954 + "latency": 0.125634038 }, { - "latency": 0.125662769 + "latency": 0.126343672 }, { - "latency": 0.126540638 + "latency": 0.123708389 }, { - "latency": 0.125871725 + "latency": 0.123466185 }, { - "latency": 0.126596316 + "latency": 0.123998982 }, { - "latency": 0.125187442 + "latency": 0.127201393 }, { - "latency": 0.123659608 + "latency": 0.131684383 }, { - "latency": 0.12949364 + "latency": 0.129670856 }, { - "latency": 0.130970251 + "latency": 0.125362863 }, { - "latency": 0.125447373 + "latency": 0.124611248 }, { - "latency": 0.129110039 + "latency": 0.124736388 }, { - "latency": 0.131000574 + "latency": 0.129027205 }, { - "latency": 0.122849665 + "latency": 0.127344316 }, { - "latency": 0.124812925 + "latency": 0.129790943 }, { - "latency": 0.123836997 + "latency": 0.1314637 }, { - "latency": 0.122528106 + "latency": 0.123408672 }, { - "latency": 0.128562099 + "latency": 0.123703759 }, { - "latency": 0.130371901 + "latency": 0.125894415 }, { - "latency": 0.125656524 + "latency": 0.128975593 }, { - "latency": 0.125463656 + "latency": 0.125036905 }, { - "latency": 0.12386604 + "latency": 0.129354022 }, { - "latency": 0.127812527 + "latency": 0.118937645 }, { - "latency": 0.121816074 + "latency": 0.129224489 }, { - "latency": 0.126008173 + "latency": 0.129317175 }, { - "latency": 0.123649717 + "latency": 0.128769443 }, { - "latency": 0.126184539 + "latency": 0.126839206 }, { - "latency": 0.125785432 + "latency": 0.124418321 }, { - "latency": 0.128369338 + "latency": 0.128423534 }, { - "latency": 0.125884592 + "latency": 0.127623403 }, { - "latency": 0.125655989 + "latency": 0.131072762 }, { - "latency": 0.124030215 + "latency": 0.127136292 }, { - "latency": 0.125159162 + "latency": 0.125761341 }, { - "latency": 0.128989463 + "latency": 0.128604717 }, { - "latency": 0.130226153 + "latency": 0.132533274 }, { - "latency": 0.132187883 + "latency": 0.121593657 }, { - "latency": 0.119924263 + "latency": 0.125712261 }, { - "latency": 0.129930038 + "latency": 0.119539386 }, { - "latency": 0.123705312 + "latency": 0.129331714 }, { - "latency": 0.130744207 + "latency": 0.127079257 }, { - "latency": 0.131017902 + "latency": 0.12717244 }, { - "latency": 0.124433967 + "latency": 0.124905121 }, { - "latency": 0.125671995 + "latency": 0.127886053 }, { - "latency": 0.127924266 + "latency": 0.128452179 }, { - "latency": 0.129294495 + "latency": 0.131175414 }, { - "latency": 0.129356077 + "latency": 0.129458151 }, { - "latency": 0.12818679 + "latency": 0.126836744 }, { - "latency": 0.12610988 + "latency": 0.129528068 }, { - "latency": 0.130829249 + "latency": 0.125625299 }, { - "latency": 0.130490764 + "latency": 0.129838575 }, { - "latency": 0.12507386 + "latency": 0.128960195 }, { - "latency": 0.126480077 + "latency": 0.131218908 }, { - "latency": 0.124513442 + "latency": 0.128908431 }, { - "latency": 0.132014176 + "latency": 0.129193336 }, { - "latency": 0.121831654 + "latency": 0.124709245 }, { - "latency": 0.128826301 + "latency": 0.129313288 }, { - "latency": 0.12555997 + "latency": 0.124344085 }, { - "latency": 0.12352345 + "latency": 0.13272023 }, { - "latency": 0.12977827 + "latency": 0.126641877 }, { - "latency": 0.124230729 + "latency": 0.124574939 }, { - "latency": 0.131989337 + "latency": 0.130392053 }, { - "latency": 0.124493011 + "latency": 0.12693028 }, { - "latency": 0.122490063 + "latency": 0.129333498 }, { - "latency": 0.127058744 + "latency": 0.127630704 }, { - "latency": 0.1295083 + "latency": 0.123781629 }, { - "latency": 0.126175987 + "latency": 0.129552236 }, { - "latency": 0.127590626 + "latency": 0.120754165 }, { - "latency": 0.126419929 + "latency": 0.129194029 }, { - "latency": 0.131350932 + "latency": 0.127300747 }, { - "latency": 0.128651632 + "latency": 0.121427091 }, { - "latency": 0.12542208 + "latency": 0.122446841 }, { - "latency": 0.12562436 + "latency": 0.127639393 }, { - "latency": 0.1318564 + "latency": 0.122742835 }, { - "latency": 0.127004922 + "latency": 0.127814323 }, { - "latency": 0.128239414 + "latency": 0.123929297 }, { - "latency": 0.121725391 + "latency": 0.130611874 }, { - "latency": 0.124930389 + "latency": 0.128481455 }, { - "latency": 0.130193632 + "latency": 0.127287811 }, { - "latency": 0.129390284 + "latency": 0.127163738 }, { - "latency": 0.126962538 + "latency": 0.129490084 }, { - "latency": 0.122395395 + "latency": 0.125295056 }, { - "latency": 0.128916575 + "latency": 0.12614799 }, { - "latency": 0.129471157 + "latency": 0.130459294 }, { - "latency": 0.129341022 + "latency": 0.129585409 }, { - "latency": 0.127512712 + "latency": 0.124837699 }, { - "latency": 0.123958151 + "latency": 0.122643763 }, { - "latency": 0.125635969 + "latency": 0.127213107 }, { - "latency": 0.129553995 + "latency": 0.127683216 }, { - "latency": 0.130977204 + "latency": 0.125516267 }, { - "latency": 0.129604158 + "latency": 0.128976354 }, { - "latency": 0.124996375 + "latency": 0.127309003 }, { - "latency": 0.12165574 + "latency": 0.122446634 }, { - "latency": 0.130553196 + "latency": 0.125789073 }, { - "latency": 0.127085119 + "latency": 0.122456029 } ], "implementation": "rust-libp2p", @@ -1256,304 +1344,304 @@ { "result": [ { - "latency": 0.124711663 + "latency": 0.127854274 }, { - "latency": 0.12794112 + "latency": 0.126604244 }, { - "latency": 0.129447353 + "latency": 0.130133431 }, { - "latency": 0.124307094 + "latency": 0.129782494 }, { - "latency": 0.123884021 + "latency": 0.129890867 }, { - "latency": 0.129099674 + "latency": 0.119488005 }, { - "latency": 0.121006904 + "latency": 0.128429649 }, { - "latency": 0.124049721 + "latency": 0.121970348 }, { - "latency": 0.131329485 + "latency": 0.129158356 }, { - "latency": 0.125813789 + "latency": 0.126287628 }, { - "latency": 0.130221893 + "latency": 0.127952601 }, { - "latency": 0.125753525 + "latency": 0.122574773 }, { - "latency": 0.126908245 + "latency": 0.120958912 }, { - "latency": 0.125547165 + "latency": 0.130814822 }, { - "latency": 0.124629962 + "latency": 0.127160071 }, { - "latency": 0.123851542 + "latency": 0.123849408 }, { - "latency": 0.128414478 + "latency": 0.127908574 }, { - "latency": 0.129910918 + "latency": 0.12547734 }, { - "latency": 0.126788404 + "latency": 0.127583973 }, { - "latency": 0.128203134 + "latency": 0.128796662 }, { - "latency": 0.127606658 + "latency": 0.128329001 }, { - "latency": 0.119968361 + "latency": 0.126682669 }, { - "latency": 0.122353299 + "latency": 0.127354983 }, { - "latency": 0.129250484 + "latency": 0.132450679 }, { - "latency": 0.12788092 + "latency": 0.127982619 }, { - "latency": 0.118847764 + "latency": 0.128506449 }, { - "latency": 0.121738002 + "latency": 0.132420053 }, { - "latency": 0.126342096 + "latency": 0.124381227 }, { - "latency": 0.129250406 + "latency": 0.12730083 }, { - "latency": 0.122838449 + "latency": 0.122720312 }, { - "latency": 0.121817368 + "latency": 0.125738658 }, { - "latency": 0.126083413 + "latency": 0.128260817 }, { - "latency": 0.12428253 + "latency": 0.129488023 }, { - "latency": 0.12564673 + "latency": 0.126414291 }, { - "latency": 0.125141166 + "latency": 0.125207541 }, { - "latency": 0.127601021 + "latency": 0.1270317 }, { - "latency": 0.123678913 + "latency": 0.124218078 }, { - "latency": 0.123875276 + "latency": 0.124418406 }, { - "latency": 0.125945386 + "latency": 0.119992763 }, { - "latency": 0.128435138 + "latency": 0.127331204 }, { - "latency": 0.123944771 + "latency": 0.127992107 }, { - "latency": 0.128793859 + "latency": 0.12585886 }, { - "latency": 0.122357755 + "latency": 0.126330241 }, { - "latency": 0.126319784 + "latency": 0.129532065 }, { - "latency": 0.123500791 + "latency": 0.121945126 }, { - "latency": 0.123411496 + "latency": 0.131264237 }, { - "latency": 0.129228304 + "latency": 0.125884237 }, { - "latency": 0.127902452 + "latency": 0.127923409 }, { - "latency": 0.128979253 + "latency": 0.129023979 }, { - "latency": 0.124786205 + "latency": 0.126420962 }, { - "latency": 0.12489481 + "latency": 0.120945096 }, { - "latency": 0.129476747 + "latency": 0.126158449 }, { - "latency": 0.132739449 + "latency": 0.125590734 }, { - "latency": 0.126596608 + "latency": 0.128716671 }, { - "latency": 0.123892193 + "latency": 0.12202694 }, { - "latency": 0.129399417 + "latency": 0.123708109 }, { - "latency": 0.128014274 + "latency": 0.125295792 }, { - "latency": 0.128232922 + "latency": 0.128585705 }, { - "latency": 0.125772402 + "latency": 0.128638405 }, { - "latency": 0.129255212 + "latency": 0.121670141 }, { - "latency": 0.129317514 + "latency": 0.128867665 }, { - "latency": 0.131034253 + "latency": 0.127401355 }, { - "latency": 0.120305554 + "latency": 0.129501587 }, { - "latency": 0.128057167 + "latency": 0.127179087 }, { - "latency": 0.128322495 + "latency": 0.128178943 }, { - "latency": 0.127702437 + "latency": 0.125564376 }, { - "latency": 0.123953765 + "latency": 0.131506077 }, { - "latency": 0.131064802 + "latency": 0.130142083 }, { - "latency": 0.125711535 + "latency": 0.126315225 }, { - "latency": 0.12410507 + "latency": 0.129986442 }, { - "latency": 0.128206123 + "latency": 0.130725803 }, { - "latency": 0.131078274 + "latency": 0.118661672 }, { - "latency": 0.123528644 + "latency": 0.131110509 }, { - "latency": 0.124669614 + "latency": 0.13121567 }, { - "latency": 0.126290317 + "latency": 0.132200892 }, { - "latency": 0.126863494 + "latency": 0.123009734 }, { - "latency": 0.130159053 + "latency": 0.122810849 }, { - "latency": 0.125257062 + "latency": 0.128636313 }, { - "latency": 0.129222809 + "latency": 0.128488534 }, { - "latency": 0.125540531 + "latency": 0.128147351 }, { - "latency": 0.126082864 + "latency": 0.132623881 }, { - "latency": 0.127881897 + "latency": 0.12833436 }, { - "latency": 0.125331844 + "latency": 0.119751982 }, { - "latency": 0.127288638 + "latency": 0.127531919 }, { - "latency": 0.125656721 + "latency": 0.129668764 }, { - "latency": 0.123760439 + "latency": 0.12423661 }, { - "latency": 0.126993199 + "latency": 0.126120563 }, { - "latency": 0.128965198 + "latency": 0.125938925 }, { - "latency": 0.125824756 + "latency": 0.131111285 }, { - "latency": 0.124826783 + "latency": 0.125216571 }, { - "latency": 0.126446357 + "latency": 0.125298742 }, { - "latency": 0.126765472 + "latency": 0.126177718 }, { - "latency": 0.122939009 + "latency": 0.130609737 }, { - "latency": 0.127211497 + "latency": 0.121083056 }, { - "latency": 0.125842573 + "latency": 0.123775449 }, { - "latency": 0.129666126 + "latency": 0.127904692 }, { - "latency": 0.123824525 + "latency": 0.12994176 }, { - "latency": 0.128113495 + "latency": 0.129256643 }, { - "latency": 0.125614086 + "latency": 0.125665206 }, { - "latency": 0.118318795 + "latency": 0.128888732 } ], "implementation": "rust-libp2p-quinn", @@ -1563,304 +1651,304 @@ { "result": [ { - "latency": 0.189790511 + "latency": 0.193485727 }, { - "latency": 0.185295445 + "latency": 0.178787526 }, { - "latency": 0.183155099 + "latency": 0.185131576 }, { - "latency": 0.179711021 + "latency": 0.184677244 }, { - "latency": 0.1815628 + "latency": 0.183953805 }, { - "latency": 0.194026824 + "latency": 0.184522364 }, { - "latency": 0.189149759 + "latency": 0.191940658 }, { - "latency": 0.193674257 + "latency": 0.186185203 }, { - "latency": 0.184257063 + "latency": 0.195981677 }, { - "latency": 0.186093547 + "latency": 0.187777759 }, { - "latency": 0.187334695 + "latency": 0.184021804 }, { - "latency": 0.182795737 + "latency": 0.188955789 }, { - "latency": 0.1836873 + "latency": 0.195498468 }, { - "latency": 0.183141449 + "latency": 0.191022241 }, { - "latency": 0.195912805 + "latency": 0.181700182 }, { - "latency": 0.181645614 + "latency": 0.193937848 }, { - "latency": 0.192973117 + "latency": 0.187702698 }, { - "latency": 0.191678052 + "latency": 0.187177 }, { - "latency": 0.185993716 + "latency": 0.180069192 }, { - "latency": 0.185307192 + "latency": 0.190953312 }, { - "latency": 0.182947308 + "latency": 0.185279035 }, { - "latency": 0.186831802 + "latency": 0.191860281 }, { - "latency": 0.187671655 + "latency": 0.185055697 }, { - "latency": 0.18498848 + "latency": 0.195068544 }, { - "latency": 0.182876052 + "latency": 0.193263621 }, { - "latency": 0.188781533 + "latency": 0.189028456 }, { - "latency": 0.187729865 + "latency": 0.182690179 }, { - "latency": 0.184475212 + "latency": 0.19163827 }, { - "latency": 0.189245883 + "latency": 0.191376091 }, { - "latency": 0.188484098 + "latency": 0.192894997 }, { - "latency": 0.191772284 + "latency": 0.178761463 }, { - "latency": 0.175307994 + "latency": 0.181762188 }, { - "latency": 0.187499625 + "latency": 0.18931091 }, { - "latency": 0.186462152 + "latency": 0.192077317 }, { - "latency": 0.180680321 + "latency": 0.1900432 }, { - "latency": 0.187132631 + "latency": 0.181576168 }, { - "latency": 0.181225107 + "latency": 0.188925779 }, { - "latency": 0.189710868 + "latency": 0.186857773 }, { - "latency": 0.178397465 + "latency": 0.191990926 }, { - "latency": 0.184407615 + "latency": 0.190410558 }, { - "latency": 0.190179779 + "latency": 0.184876576 }, { - "latency": 0.190448009 + "latency": 0.192006206 }, { - "latency": 0.191511598 + "latency": 0.193694983 }, { - "latency": 0.185985554 + "latency": 0.192546055 }, { - "latency": 0.184779263 + "latency": 0.18566961 }, { - "latency": 0.190281713 + "latency": 0.185789311 }, { - "latency": 0.192063289 + "latency": 0.193343491 }, { - "latency": 0.188147145 + "latency": 0.189039576 }, { - "latency": 0.180085677 + "latency": 0.183330458 }, { - "latency": 0.191160117 + "latency": 0.184559011 }, { - "latency": 0.186452748 + "latency": 0.192230705 }, { - "latency": 0.190510791 + "latency": 0.184778843 }, { - "latency": 0.178278712 + "latency": 0.181408323 }, { - "latency": 0.19119249 + "latency": 0.188857879 }, { - "latency": 0.186555507 + "latency": 0.176708632 }, { - "latency": 0.18344632 + "latency": 0.192941697 }, { - "latency": 0.190256379 + "latency": 0.182559502 }, { - "latency": 0.187129558 + "latency": 0.188710699 }, { - "latency": 0.188593118 + "latency": 0.181543066 }, { - "latency": 0.188291769 + "latency": 0.181610281 }, { - "latency": 0.189530894 + "latency": 0.176637296 }, { - "latency": 0.193427067 + "latency": 0.188493714 }, { - "latency": 0.184417052 + "latency": 0.193581343 }, { - "latency": 0.188620338 + "latency": 0.184383793 }, { - "latency": 0.18527377 + "latency": 0.19149086 }, { - "latency": 0.185096546 + "latency": 0.188605219 }, { - "latency": 0.185786131 + "latency": 0.184762157 }, { - "latency": 0.187227528 + "latency": 0.191397637 }, { - "latency": 0.188418518 + "latency": 0.190275274 }, { - "latency": 0.181754552 + "latency": 0.181586179 }, { - "latency": 0.189666996 + "latency": 0.193266514 }, { - "latency": 0.183232835 + "latency": 0.190714509 }, { - "latency": 0.193937989 + "latency": 0.190301564 }, { - "latency": 0.191676161 + "latency": 0.187424962 }, { - "latency": 0.184168146 + "latency": 0.181221166 }, { - "latency": 0.192910263 + "latency": 0.18737125 }, { - "latency": 0.190126967 + "latency": 0.17757263 }, { - "latency": 0.184652012 + "latency": 0.187213395 }, { - "latency": 0.194854231 + "latency": 0.188529349 }, { - "latency": 0.191820108 + "latency": 0.185056356 }, { - "latency": 0.184788853 + "latency": 0.188851428 }, { - "latency": 0.182854005 + "latency": 0.184771385 }, { - "latency": 0.187661199 + "latency": 0.184787911 }, { - "latency": 0.191536986 + "latency": 0.184758304 }, { - "latency": 0.186257161 + "latency": 0.184929213 }, { - "latency": 0.184256646 + "latency": 0.191497547 }, { - "latency": 0.184307283 + "latency": 0.191787333 }, { - "latency": 0.191534485 + "latency": 0.191561316 }, { - "latency": 0.18713131 + "latency": 0.191863766 }, { - "latency": 0.195688403 + "latency": 0.185653866 }, { - "latency": 0.187721822 + "latency": 0.187978077 }, { - "latency": 0.181363513 + "latency": 0.191816017 }, { - "latency": 0.182569903 + "latency": 0.188855038 }, { - "latency": 0.180166992 + "latency": 0.177263273 }, { - "latency": 0.186078742 + "latency": 0.194472491 }, { - "latency": 0.182399878 + "latency": 0.181256762 }, { - "latency": 0.185006688 + "latency": 0.19174606 }, { - "latency": 0.178717493 + "latency": 0.193407689 }, { - "latency": 0.192207732 + "latency": 0.18576596 }, { - "latency": 0.186360171 + "latency": 0.188573789 } ], "implementation": "https", @@ -1870,304 +1958,304 @@ { "result": [ { - "latency": 0.383642396 + "latency": 0.38077505 }, { - "latency": 0.326242407 + "latency": 0.309419301 }, { - "latency": 0.375458882 + "latency": 0.309326292 }, { - "latency": 0.381880358 + "latency": 0.375324091 }, { - "latency": 0.37881667 + "latency": 0.379457538 }, { - "latency": 0.305622027 + "latency": 0.377940969 }, { - "latency": 0.312562396 + "latency": 0.321994407 }, { - "latency": 0.381778356 + "latency": 0.320266785 }, { - "latency": 0.317120152 + "latency": 0.376563966 }, { - "latency": 0.31815487 + "latency": 0.323063854 }, { - "latency": 0.304278713 + "latency": 0.319768672 }, { - "latency": 0.303479672 + "latency": 0.306688627 }, { - "latency": 0.31955074 + "latency": 0.320838538 }, { - "latency": 0.380605836 + "latency": 0.319597099 }, { - "latency": 0.371075826 + "latency": 0.38238837 }, { - "latency": 0.312903296 + "latency": 0.376296811 }, { - "latency": 0.328395721 + "latency": 0.316491497 }, { - "latency": 0.310456624 + "latency": 0.32028804 }, { - "latency": 0.317059618 + "latency": 0.359127047 }, { - "latency": 0.322894807 + "latency": 0.317116585 }, { - "latency": 0.305456603 + "latency": 0.329328375 }, { - "latency": 0.310807656 + "latency": 0.314887205 }, { - "latency": 0.318165659 + "latency": 0.321134772 }, { - "latency": 0.387913351 + "latency": 0.311074203 }, { - "latency": 0.385624152 + "latency": 0.378318307 }, { - "latency": 0.302301882 + "latency": 0.316557243 }, { - "latency": 0.313749659 + "latency": 0.304199255 }, { - "latency": 0.382760295 + "latency": 0.373833145 }, { - "latency": 0.373617899 + "latency": 0.295940542 }, { - "latency": 0.321561163 + "latency": 0.320181249 }, { - "latency": 0.314461474 + "latency": 0.381780932 }, { - "latency": 0.384423016 + "latency": 0.382544379 }, { - "latency": 0.370762783 + "latency": 0.314091961 }, { - "latency": 0.374690437 + "latency": 0.376240639 }, { - "latency": 0.307652925 + "latency": 0.378874757 }, { - "latency": 0.31443201 + "latency": 0.310700958 }, { - "latency": 0.307369129 + "latency": 0.305296353 }, { - "latency": 0.315145952 + "latency": 0.364721967 }, { - "latency": 0.298814889 + "latency": 0.315092968 }, { - "latency": 0.315929323 + "latency": 0.327965471 }, { - "latency": 0.307303032 + "latency": 0.37509162 }, { - "latency": 0.392239282 + "latency": 0.377422774 }, { - "latency": 0.320687279 + "latency": 0.373808225 }, { - "latency": 0.315087975 + "latency": 0.369594122 }, { - "latency": 0.375055478 + "latency": 0.306337882 }, { - "latency": 0.351042395 + "latency": 0.375444785 }, { - "latency": 0.305972681 + "latency": 0.298726073 }, { - "latency": 0.373808898 + "latency": 0.360520035 }, { - "latency": 0.364874683 + "latency": 0.379319989 }, { - "latency": 0.386616409 + "latency": 0.368048255 }, { - "latency": 0.316946171 + "latency": 0.311691436 }, { - "latency": 0.312275649 + "latency": 0.317495582 }, { - "latency": 0.31780707 + "latency": 0.312252292 }, { - "latency": 0.31386822 + "latency": 0.373468338 }, { - "latency": 0.31743788 + "latency": 0.364248443 }, { - "latency": 0.382624286 + "latency": 0.316937654 }, { - "latency": 0.370693481 + "latency": 0.316913965 }, { - "latency": 0.379058533 + "latency": 0.304222588 }, { - "latency": 0.299326869 + "latency": 0.392912795 }, { - "latency": 0.316920674 + "latency": 0.377576599 }, { - "latency": 0.377521693 + "latency": 0.319979818 }, { - "latency": 0.387288812 + "latency": 0.308048928 }, { - "latency": 0.295622551 + "latency": 0.314377428 }, { - "latency": 0.317102948 + "latency": 0.375666383 }, { - "latency": 0.314121484 + "latency": 0.304390635 }, { - "latency": 0.368235078 + "latency": 0.307329312 }, { - "latency": 0.317031216 + "latency": 0.3222666 }, { - "latency": 0.384547106 + "latency": 0.317670487 }, { - "latency": 0.302815948 + "latency": 0.31934422 }, { - "latency": 0.376902539 + "latency": 0.320887917 }, { - "latency": 0.379793017 + "latency": 0.297535694 }, { - "latency": 0.319458051 + "latency": 0.30569929 }, { - "latency": 0.324156633 + "latency": 0.323138368 }, { - "latency": 0.310092709 + "latency": 0.312043621 }, { - "latency": 0.324754808 + "latency": 0.372526959 }, { - "latency": 0.365567509 + "latency": 0.303863038 }, { - "latency": 0.316843405 + "latency": 0.382970318 }, { - "latency": 0.307828866 + "latency": 0.304913383 }, { - "latency": 0.316958198 + "latency": 0.388146935 }, { - "latency": 0.305390631 + "latency": 0.30481386 }, { - "latency": 0.308114465 + "latency": 0.373349994 }, { - "latency": 0.308879938 + "latency": 0.378817139 }, { - "latency": 0.365852334 + "latency": 0.305681207 }, { - "latency": 0.326668034 + "latency": 0.314268736 }, { - "latency": 0.313859124 + "latency": 0.318265443 }, { - "latency": 0.367744378 + "latency": 0.302294148 }, { - "latency": 0.379773909 + "latency": 0.389977972 }, { - "latency": 0.328453607 + "latency": 0.326494914 }, { - "latency": 0.310803227 + "latency": 0.318249367 }, { - "latency": 0.318056611 + "latency": 0.323189649 }, { - "latency": 0.306364893 + "latency": 0.315443137 }, { - "latency": 0.31942839 + "latency": 0.381208979 }, { - "latency": 0.324237355 + "latency": 0.367951604 }, { - "latency": 0.376765459 + "latency": 0.314612321 }, { - "latency": 0.311093663 + "latency": 0.310367895 }, { - "latency": 0.3111702 + "latency": 0.317875574 }, { - "latency": 0.354253478 + "latency": 0.312287519 }, { - "latency": 0.320253107 + "latency": 0.373540369 }, { - "latency": 0.375954895 + "latency": 0.316710681 }, { - "latency": 0.381460108 + "latency": 0.304437416 } ], "implementation": "go-libp2p", @@ -2177,309 +2265,923 @@ { "result": [ { - "latency": 0.19453549 + "latency": 0.187555845 }, { - "latency": 0.181236003 + "latency": 0.194649522 }, { - "latency": 0.196288022 + "latency": 0.188361929 }, { - "latency": 0.190355794 + "latency": 0.195345023 }, { - "latency": 0.190841121 + "latency": 0.185826778 }, { - "latency": 0.18716941 + "latency": 0.19490548 }, { - "latency": 0.19650049 + "latency": 0.187847498 }, { - "latency": 0.188182381 + "latency": 0.19622459 }, { - "latency": 0.193627759 + "latency": 0.196618772 }, { - "latency": 0.188128636 + "latency": 0.19129429 }, { - "latency": 0.194418389 + "latency": 0.187560352 }, { - "latency": 0.188949334 + "latency": 0.190586502 }, { - "latency": 0.189266168 + "latency": 0.190775065 }, { - "latency": 0.180826855 + "latency": 0.191844167 }, { - "latency": 0.184595038 + "latency": 0.198609934 }, { - "latency": 0.193345535 + "latency": 0.184273535 }, { - "latency": 0.183882747 + "latency": 0.191871565 }, { - "latency": 0.189709915 + "latency": 0.193277312 }, { - "latency": 0.196078717 + "latency": 0.182333444 }, { - "latency": 0.191911677 + "latency": 0.182497462 }, { - "latency": 0.18939479 + "latency": 0.191340946 }, { - "latency": 0.192517586 + "latency": 0.194394664 }, { - "latency": 0.199450097 + "latency": 0.183802688 }, { - "latency": 0.200158189 + "latency": 0.192732576 }, { - "latency": 0.19496058 + "latency": 0.197727245 }, { - "latency": 0.185530974 + "latency": 0.18524811 }, { - "latency": 0.191961824 + "latency": 0.196155602 }, { - "latency": 0.195304983 + "latency": 0.182879433 }, { - "latency": 0.19602959 + "latency": 0.191622072 }, { - "latency": 0.190337939 + "latency": 0.194512004 }, { - "latency": 0.194327732 + "latency": 0.199675084 }, { - "latency": 0.19097137 + "latency": 0.193545846 }, { - "latency": 0.189164008 + "latency": 0.1857358 }, { - "latency": 0.190408712 + "latency": 0.196606761 }, { - "latency": 0.187420072 + "latency": 0.197466231 }, { - "latency": 0.19369834 + "latency": 0.187884861 }, { - "latency": 0.196783974 + "latency": 0.18660263 }, { - "latency": 0.189094353 + "latency": 0.193555081 }, { - "latency": 0.192343669 + "latency": 0.188345579 }, { - "latency": 0.193692168 + "latency": 0.1934835 }, { - "latency": 0.195561611 + "latency": 0.189691951 }, { - "latency": 0.184410675 + "latency": 0.194888993 }, { - "latency": 0.188916338 + "latency": 0.18621049 }, { - "latency": 0.195941445 + "latency": 0.188464942 }, { - "latency": 0.197444673 + "latency": 0.187443824 }, { - "latency": 0.187195485 + "latency": 0.194078624 }, { - "latency": 0.192929232 + "latency": 0.195573126 }, { - "latency": 0.189574539 + "latency": 0.185675481 }, { - "latency": 0.19285592 + "latency": 0.193329368 }, { - "latency": 0.194587249 + "latency": 0.189259478 }, { - "latency": 0.188780293 + "latency": 0.189907448 }, { - "latency": 0.186985788 + "latency": 0.195668638 }, { - "latency": 0.191819416 + "latency": 0.196273809 }, { - "latency": 0.187017204 + "latency": 0.186386937 }, { - "latency": 0.180525031 + "latency": 0.194431277 }, { - "latency": 0.190218825 + "latency": 0.179613554 }, { - "latency": 0.194038648 + "latency": 0.193102712 }, { - "latency": 0.189736294 + "latency": 0.198107363 }, { - "latency": 0.187347738 + "latency": 0.185996302 }, { - "latency": 0.185712159 + "latency": 0.187608135 }, { - "latency": 0.189077661 + "latency": 0.192875318 }, { - "latency": 0.189343701 + "latency": 0.189888902 }, { - "latency": 0.181625559 + "latency": 0.193434819 }, { - "latency": 0.18380183 + "latency": 0.190617372 }, { - "latency": 0.190097427 + "latency": 0.183958823 }, { - "latency": 0.194085855 + "latency": 0.184297903 }, { - "latency": 0.184113634 + "latency": 0.182108608 }, { - "latency": 0.196466968 + "latency": 0.193839825 }, { - "latency": 0.197207634 + "latency": 0.187657363 }, { - "latency": 0.195341437 + "latency": 0.196739125 }, { - "latency": 0.194152611 + "latency": 0.188374865 }, { - "latency": 0.194161059 + "latency": 0.196007177 }, { - "latency": 0.199204775 + "latency": 0.191799573 }, { - "latency": 0.196596237 + "latency": 0.194788158 }, { - "latency": 0.182694315 + "latency": 0.18157022 }, { - "latency": 0.181369987 + "latency": 0.19594082 }, { - "latency": 0.194915306 + "latency": 0.185963458 }, { - "latency": 0.185637073 + "latency": 0.188550319 }, { - "latency": 0.191334952 + "latency": 0.191942366 }, { - "latency": 0.199308762 + "latency": 0.191500148 }, { - "latency": 0.190862611 + "latency": 0.190548668 }, { - "latency": 0.192181917 + "latency": 0.18431213 }, { - "latency": 0.198309915 + "latency": 0.184969108 }, { - "latency": 0.194234323 + "latency": 0.187292332 }, { - "latency": 0.194457609 + "latency": 0.184247665 }, { - "latency": 0.178980382 + "latency": 0.193372242 }, { - "latency": 0.195979684 + "latency": 0.189036926 }, { - "latency": 0.195133588 + "latency": 0.196409805 }, { - "latency": 0.197518691 + "latency": 0.188765088 }, { - "latency": 0.193979823 + "latency": 0.189666767 }, { - "latency": 0.189857769 + "latency": 0.189620087 }, { - "latency": 0.195673538 + "latency": 0.194291593 }, { - "latency": 0.197155714 + "latency": 0.189304864 }, { - "latency": 0.18818351 + "latency": 0.188276581 }, { - "latency": 0.179366346 + "latency": 0.19125438 }, { - "latency": 0.188544609 + "latency": 0.195411869 }, { - "latency": 0.187244039 + "latency": 0.185658262 }, { - "latency": 0.185635271 + "latency": 0.185550191 }, { - "latency": 0.189034722 + "latency": 0.19459812 }, { - "latency": 0.1854126 + "latency": 0.19467783 } ], "implementation": "go-libp2p", "version": "v0.27", "transportStack": "quic-v1" + }, + { + "result": [ + { + "latency": 0.381976095 + }, + { + "latency": 0.388421996 + }, + { + "latency": 0.314998237 + }, + { + "latency": 0.30666595 + }, + { + "latency": 0.384121226 + }, + { + "latency": 0.313345733 + }, + { + "latency": 0.382000327 + }, + { + "latency": 0.35678173 + }, + { + "latency": 0.318936242 + }, + { + "latency": 0.316071814 + }, + { + "latency": 0.384377304 + }, + { + "latency": 0.309711269 + }, + { + "latency": 0.315730141 + }, + { + "latency": 0.377659754 + }, + { + "latency": 0.386775756 + }, + { + "latency": 0.306763601 + }, + { + "latency": 0.30611268 + }, + { + "latency": 0.314938517 + }, + { + "latency": 0.312148778 + }, + { + "latency": 0.32489782 + }, + { + "latency": 0.310574859 + }, + { + "latency": 0.375526198 + }, + { + "latency": 0.30600953 + }, + { + "latency": 0.37204659 + }, + { + "latency": 0.306998386 + }, + { + "latency": 0.378596719 + }, + { + "latency": 0.321667032 + }, + { + "latency": 0.367487915 + }, + { + "latency": 0.29994641 + }, + { + "latency": 0.380195512 + }, + { + "latency": 0.369756684 + }, + { + "latency": 0.367430031 + }, + { + "latency": 0.391773247 + }, + { + "latency": 0.306468842 + }, + { + "latency": 0.314642703 + }, + { + "latency": 0.375836617 + }, + { + "latency": 0.354676969 + }, + { + "latency": 0.378259833 + }, + { + "latency": 0.319224093 + }, + { + "latency": 0.312061335 + }, + { + "latency": 0.313881545 + }, + { + "latency": 0.316823084 + }, + { + "latency": 0.309436658 + }, + { + "latency": 0.320342644 + }, + { + "latency": 0.307271137 + }, + { + "latency": 0.313912376 + }, + { + "latency": 0.383294544 + }, + { + "latency": 0.393827984 + }, + { + "latency": 0.298470881 + }, + { + "latency": 0.307941596 + }, + { + "latency": 0.37986379 + }, + { + "latency": 0.306612038 + }, + { + "latency": 0.373852621 + }, + { + "latency": 0.31321951 + }, + { + "latency": 0.321650215 + }, + { + "latency": 0.376083602 + }, + { + "latency": 0.365972218 + }, + { + "latency": 0.36697194 + }, + { + "latency": 0.370598447 + }, + { + "latency": 0.379219303 + }, + { + "latency": 0.378572639 + }, + { + "latency": 0.355113728 + }, + { + "latency": 0.307856214 + }, + { + "latency": 0.374550108 + }, + { + "latency": 0.380934151 + }, + { + "latency": 0.375804538 + }, + { + "latency": 0.324704486 + }, + { + "latency": 0.367457458 + }, + { + "latency": 0.354711916 + }, + { + "latency": 0.373137612 + }, + { + "latency": 0.374149394 + }, + { + "latency": 0.321420194 + }, + { + "latency": 0.315573401 + }, + { + "latency": 0.320520272 + }, + { + "latency": 0.31988208 + }, + { + "latency": 0.320916676 + }, + { + "latency": 0.32045819 + }, + { + "latency": 0.309036219 + }, + { + "latency": 0.381350043 + }, + { + "latency": 0.322851203 + }, + { + "latency": 0.373255379 + }, + { + "latency": 0.306422312 + }, + { + "latency": 0.305499071 + }, + { + "latency": 0.382520274 + }, + { + "latency": 0.318721288 + }, + { + "latency": 0.309728361 + }, + { + "latency": 0.3197926 + }, + { + "latency": 0.318740938 + }, + { + "latency": 0.370230375 + }, + { + "latency": 0.30655263 + }, + { + "latency": 0.311775446 + }, + { + "latency": 0.319539193 + }, + { + "latency": 0.327993488 + }, + { + "latency": 0.370378279 + }, + { + "latency": 0.387199909 + }, + { + "latency": 0.306670253 + }, + { + "latency": 0.306674852 + }, + { + "latency": 0.384419293 + }, + { + "latency": 0.304681448 + }, + { + "latency": 0.350981323 + } + ], + "implementation": "go-libp2p", + "version": "v0.28", + "transportStack": "tcp" + }, + { + "result": [ + { + "latency": 0.186311059 + }, + { + "latency": 0.196648954 + }, + { + "latency": 0.193700927 + }, + { + "latency": 0.190631161 + }, + { + "latency": 0.186892775 + }, + { + "latency": 0.184459086 + }, + { + "latency": 0.190601658 + }, + { + "latency": 0.195114493 + }, + { + "latency": 0.186942435 + }, + { + "latency": 0.18633947 + }, + { + "latency": 0.19104879 + }, + { + "latency": 0.195739795 + }, + { + "latency": 0.189644434 + }, + { + "latency": 0.193556342 + }, + { + "latency": 0.192624521 + }, + { + "latency": 0.182337592 + }, + { + "latency": 0.200432124 + }, + { + "latency": 0.187505939 + }, + { + "latency": 0.195163839 + }, + { + "latency": 0.180970648 + }, + { + "latency": 0.19398862 + }, + { + "latency": 0.19281069 + }, + { + "latency": 0.194532022 + }, + { + "latency": 0.182461219 + }, + { + "latency": 0.193724691 + }, + { + "latency": 0.196562422 + }, + { + "latency": 0.190147356 + }, + { + "latency": 0.188199387 + }, + { + "latency": 0.195775206 + }, + { + "latency": 0.189697723 + }, + { + "latency": 0.178781448 + }, + { + "latency": 0.196553312 + }, + { + "latency": 0.200363132 + }, + { + "latency": 0.188273686 + }, + { + "latency": 0.185453707 + }, + { + "latency": 0.198476424 + }, + { + "latency": 0.183962225 + }, + { + "latency": 0.189314083 + }, + { + "latency": 0.185425601 + }, + { + "latency": 0.18764165 + }, + { + "latency": 0.191309844 + }, + { + "latency": 0.193602466 + }, + { + "latency": 0.191913686 + }, + { + "latency": 0.185651733 + }, + { + "latency": 0.187969163 + }, + { + "latency": 0.192658546 + }, + { + "latency": 0.192593554 + }, + { + "latency": 0.183614734 + }, + { + "latency": 0.183444784 + }, + { + "latency": 0.195290564 + }, + { + "latency": 0.188301101 + }, + { + "latency": 0.200191282 + }, + { + "latency": 0.192903128 + }, + { + "latency": 0.188173193 + }, + { + "latency": 0.187117968 + }, + { + "latency": 0.196261849 + }, + { + "latency": 0.19213049 + }, + { + "latency": 0.182656264 + }, + { + "latency": 0.186959789 + }, + { + "latency": 0.190296812 + }, + { + "latency": 0.188710495 + }, + { + "latency": 0.185964276 + }, + { + "latency": 0.186716416 + }, + { + "latency": 0.196717275 + }, + { + "latency": 0.188735842 + }, + { + "latency": 0.187452722 + }, + { + "latency": 0.195243861 + }, + { + "latency": 0.185405673 + }, + { + "latency": 0.195080126 + }, + { + "latency": 0.190215933 + }, + { + "latency": 0.190867951 + }, + { + "latency": 0.18714863 + }, + { + "latency": 0.184043494 + }, + { + "latency": 0.190686364 + }, + { + "latency": 0.194521419 + }, + { + "latency": 0.185027564 + }, + { + "latency": 0.189530625 + }, + { + "latency": 0.197132308 + }, + { + "latency": 0.188887776 + }, + { + "latency": 0.188597256 + }, + { + "latency": 0.196821528 + }, + { + "latency": 0.186942456 + }, + { + "latency": 0.194099729 + }, + { + "latency": 0.195538021 + }, + { + "latency": 0.180316568 + }, + { + "latency": 0.197607335 + }, + { + "latency": 0.191586027 + }, + { + "latency": 0.19043404 + }, + { + "latency": 0.198957321 + }, + { + "latency": 0.198734671 + }, + { + "latency": 0.19174692 + }, + { + "latency": 0.190891778 + }, + { + "latency": 0.200139445 + }, + { + "latency": 0.19059226 + }, + { + "latency": 0.19128885 + }, + { + "latency": 0.188878835 + }, + { + "latency": 0.191215858 + }, + { + "latency": 0.195318744 + }, + { + "latency": 0.1926736 + }, + { + "latency": 0.188789734 + } + ], + "implementation": "go-libp2p", + "version": "v0.28", + "transportStack": "quic-v1" } ], "parameters": { @@ -2491,173 +3193,173 @@ "pings": { "unit": "s", "results": [ - 0.073, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.060899999999999996, - 0.061, - 0.060899999999999996, - 0.061, - 0.061, - 0.060899999999999996, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.0613, - 0.06609999999999999, - 0.06609999999999999, - 0.06609999999999999, - 0.06609999999999999, - 0.06609999999999999, - 0.0664, - 0.06609999999999999, - 0.066, - 0.066, - 0.066, - 0.060899999999999996, - 0.060899999999999996, - 0.061, - 0.060899999999999996, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.060899999999999996, - 0.061, - 0.061, - 0.060899999999999996, - 0.061, - 0.061, - 0.061, - 0.061, - 0.060899999999999996, - 0.061, - 0.060899999999999996, - 0.061, - 0.061, - 0.060899999999999996, - 0.061, - 0.061, - 0.061, - 0.060899999999999996, - 0.061, - 0.061, - 0.060899999999999996, - 0.061, - 0.061, - 0.061, - 0.061, - 0.061, - 0.060899999999999996, - 0.061, - 0.061, - 0.060899999999999996, - 0.060899999999999996, - 0.061, - 0.061, - 0.060899999999999996 + 0.103, + 0.0632, + 0.0632, + 0.0636, + 0.0632, + 0.0632, + 0.0632, + 0.0633, + 0.0633, + 0.0632, + 0.0632, + 0.0633, + 0.0635, + 0.0633, + 0.0633, + 0.0632, + 0.0632, + 0.0635, + 0.0633, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0633, + 0.0632, + 0.0633, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0633, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0633, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0633, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0633, + 0.0638, + 0.0633, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632, + 0.0632 ] }, "iperf": { "unit": "bit/s", "results": [ - 3390000000, - 3390000000, - 3400000000, - 3400000000, - 3400000000, - 3400000000, - 3400000000, - 3400000000, - 3400000000, - 3400000000, - 3360000000, 3380000000, 3380000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3380000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3380000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, 3390000000, 3380000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3380000000, + 3380000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3380000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3380000000, + 3370000000, + 3320000000, + 3310000000, + 3320000000, + 3310000000, + 3320000000, + 3380000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3370000000, + 3380000000, + 3370000000, + 3370000000, + 3380000000, 3380000000, 3380000000, - 3390000000, - 3390000000, - 3390000000, - 3400000000, - 3390000000, - 3390000000, - 3390000000, - 3400000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3380000000, - 3380000000, - 3380000000, - 3380000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3390000000, - 3380000000, - 3380000000, - 3380000000, - 3390000000, - 3390000000, - 3390000000, - 3380000000, - 3390000000, - 3380000000, - 3390000000, - 2980000000 + 3370000000, + 2810000000 ] } } \ No newline at end of file diff --git a/perf/runner/src/versions.ts b/perf/runner/src/versions.ts index a06bac9..e549857 100644 --- a/perf/runner/src/versions.ts +++ b/perf/runner/src/versions.ts @@ -30,4 +30,9 @@ export const versions: Array = [ implementation: "go-libp2p", transportStacks: ["tcp", "quic-v1"] }, + { + id: "v0.28", + implementation: "go-libp2p", + transportStacks: ["tcp", "quic-v1"] + }, ]