<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-bench/src/main.rs, branch arti-v0.0.4</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.0.4</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.0.4'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-01-26T19:06:58Z</updated>
<entry>
<title>Make current/create functions into runtime member functions.</title>
<updated>2022-01-26T19:06:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-01-26T13:40:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6f29d485e460b30cba992bcb407bf3c7e2a479b7'/>
<id>urn:sha1:6f29d485e460b30cba992bcb407bf3c7e2a479b7</id>
<content type='text'>
This should help avoid some amount of temptation towards API
proliferation.
</content>
</entry>
<entry>
<title>arti-bench: add concurrency, write benchmark results out to JSON</title>
<updated>2022-01-18T13:46:36Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-01-18T13:41:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2aeac45f49f5266fe3cf3f9f249ed4eb8aeffabb'/>
<id>urn:sha1:2aeac45f49f5266fe3cf3f9f249ed4eb8aeffabb</id>
<content type='text'>
We now conduct benchmark tests with multiple concurrent streams (by
default; this is configurable by passing `-p` to `arti-bench`).
Currently, these results just get "flattened" for the purposes of
statistical analysis (as in, results_raw contains the results of each
connection's timing summary, across all benchmark runs). This might be
something we wish to change in future.

The stats summary now also records "best" and "worst" values for each
metric, to give a rough idea of the range of values encountered.

Additionally, we now support writing the benchmark results out to a JSON
file. A future commit may integrate this with CI, so that we have
benchmark results for every commit as a build artefact.

(some documentation was also fixed)

part of arti#292
</content>
</entry>
<entry>
<title>arti-bench: add support for multiple samples &amp; averaging</title>
<updated>2022-01-14T15:00:11Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-01-13T16:23:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=82beb52fca8b973f7889210c6790867ed376eab4'/>
<id>urn:sha1:82beb52fca8b973f7889210c6790867ed376eab4</id>
<content type='text'>
We now do multiple samples (configurable; default 3) per type of
`arti-bench` benchmark run, and take a mean and median average of all
data collected, in order to hopefully be a bit more resilient to random
outliers / variation.

This uses some `futures::stream::Stream` hacks, which might result in
more connections being made than required (and might impact the TTFB
metrics somewhat, at least for downloading).

Results now get collected into a `BenchmarkResults` struct per type of
benchmark, which will be in turn placed into a `BenchmarkSummary` in a
later commit; this will also add the ability to serialize the latter
struct out to disk, for future reference.

part of arti#292
</content>
</entry>
<entry>
<title>refactor `arti-bench`</title>
<updated>2022-01-13T14:16:01Z</updated>
<author>
<name>daniel.eades</name>
<email>danieleades@hotmail.com</email>
</author>
<published>2022-01-13T14:16:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1ecf383e8f740e70c79f122ce10314cba9f7a6af'/>
<id>urn:sha1:1ecf383e8f740e70c79f122ce10314cba9f7a6af</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use *_with_prefs() for Option&lt;ConnectPrefs&gt; callers in TorClient::connect</title>
<updated>2022-01-08T21:36:49Z</updated>
<author>
<name>Neel Chauhan</name>
<email>neel@neelc.org</email>
</author>
<published>2022-01-08T21:36:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=439b8b3e64f6f4cb5a032ee3ceafb4675003f259'/>
<id>urn:sha1:439b8b3e64f6f4cb5a032ee3ceafb4675003f259</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/mr/214'</title>
<updated>2022-01-06T14:02:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-01-06T14:02:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5c3300867d170a00465c16800a06cd7d7283e47b'/>
<id>urn:sha1:5c3300867d170a00465c16800a06cd7d7283e47b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>arti-bench: Remove a FIXME by saying it's OK for this program to panic</title>
<updated>2022-01-06T11:58:01Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-01-06T11:53:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1e70d5673732468a3eb80d26d6fa64f2b622736a'/>
<id>urn:sha1:1e70d5673732468a3eb80d26d6fa64f2b622736a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extend lints to include 'clippy::all'</title>
<updated>2021-12-28T20:15:40Z</updated>
<author>
<name>Daniel Eades</name>
<email>danieleades@hotmail.com</email>
</author>
<published>2021-12-28T20:15:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=592642a9e6c1c03e525f8b452f4b97e6fd17ff9b'/>
<id>urn:sha1:592642a9e6c1c03e525f8b452f4b97e6fd17ff9b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Introduce an experimental benchmarking utility for Arti</title>
<updated>2021-12-16T16:12:59Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2021-12-14T17:29:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=06a94288caa6cdb61d90982f171b7da688951b6b'/>
<id>urn:sha1:06a94288caa6cdb61d90982f171b7da688951b6b</id>
<content type='text'>
The new `arti-bench` crate does a simple end-to-end benchmark test
embedding Arti: it generates some random data (of configurable amount,
depending on command-line parameters), and then sends said data back and
forth via Arti (which should be configured to use a local Chutney
network).

Additionally, the benchmark can also be run via a local SOCKS5 server
(in order to benchmark the performance via a local Chutney node, for
comparison).

The `tests/chutney/arti-bench.sh` sets up and tears down Chutney as
required to make this work.

This is very much a first cut; there are many things that should
eventually get added, such as support for multiple connections, JSON
output capabilities, running multiple tests, ...
</content>
</entry>
</feed>
