<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-bench/src/main.rs, branch arti-v0.1.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.1.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.1.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-02-28T16:41:13Z</updated>
<entry>
<title>arti-client: use PreferredRuntime by default, doc cleanups</title>
<updated>2022-02-28T16:41:13Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-02-25T18:13:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=13ba0ea005ddd87bba2d53ab738ce948f031e1e8'/>
<id>urn:sha1:13ba0ea005ddd87bba2d53ab738ce948f031e1e8</id>
<content type='text'>
This makes using the `PreferredRuntime` the first-class option inside
`arti-client`, freeing users who don't want to think about runtimes from
having to do so.

`TorClient::create_unbootstrapped` and `builder` now automatically
use this runtime, leaving only `builder_custom` for users who wish to
manually specify a runtime.

This lets us clean up the docs a lot: mentions of using custom runtimes
are now relegated to nearer the end of the crate-level documentation,
and we mostly just link to `tor_rtcompat`'s docs to explain more there.
Instead, we take some more time to explain how you use the builder API
to create clients synchronously.

Other doc cleanups included getting rid of the explanation of `TorAddr`
in the main crate-level doc; this is already well-documented elsewhere,
and is something users should discover organically later.

fixes arti#326
</content>
</entry>
<entry>
<title>Upgrade to newer version of config crate.</title>
<updated>2022-02-25T14:20:48Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-25T14:17:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a3bc59918d5cca780f87a12cfc30a4cd209a6cfc'/>
<id>urn:sha1:a3bc59918d5cca780f87a12cfc30a4cd209a6cfc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change deny(clippy::all) to warn(clippy::all).</title>
<updated>2022-02-14T14:24:06Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-14T14:24:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1cecc7e45a9a432f87a8f11abb8cb86b35464a0b'/>
<id>urn:sha1:1cecc7e45a9a432f87a8f11abb8cb86b35464a0b</id>
<content type='text'>
Closes #338.
</content>
</entry>
<entry>
<title>Allow creating unbootstrapped `TorClient`s (and `DirMgr`s)</title>
<updated>2022-02-11T16:42:19Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-02-09T16:27:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=882e75cd280ede6dc284f11db9e8f17947435ebe'/>
<id>urn:sha1:882e75cd280ede6dc284f11db9e8f17947435ebe</id>
<content type='text'>
This commit changes how the `TorClient` type works, enabling it to be
constructed synchronously without initiating the bootstrapping process.
Daemon tasks are still started on construction (although some of them
won't do anything if the client isn't bootstrapped).

The old bootstrap() methods are now reimplemented in terms of the new
create_unbootstrapped() and bootstrap_existing() methods.

This required refactoring how the `DirMgr` works to enable the same sort
of thing there.

closes #293
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2022-02-02T18:18:22Z</updated>
<author>
<name>Dimitris Apostolou</name>
<email>dimitris.apostolou@icloud.com</email>
</author>
<published>2022-02-02T18:18:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=65263218510ee9375ed423b42fbf555e96eab275'/>
<id>urn:sha1:65263218510ee9375ed423b42fbf555e96eab275</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'reload-config-prep' into 'main'</title>
<updated>2022-02-02T17:31:23Z</updated>
<author>
<name>Ian Jackson</name>
<email>iwj@torproject.org</email>
</author>
<published>2022-02-02T17:31:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1c313993567bf59b1440ffda95058056a7ddd35c'/>
<id>urn:sha1:1c313993567bf59b1440ffda95058056a7ddd35c</id>
<content type='text'>
Preparatory work for auto config reload

See merge request tpo/core/arti!284</content>
</entry>
<entry>
<title>arti_config: Refactor configuration sources into a struct</title>
<updated>2022-02-01T19:26:39Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-01T19:21:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=feab848509a25c4865ccb41e990a010ba33eaa44'/>
<id>urn:sha1:feab848509a25c4865ccb41e990a010ba33eaa44</id>
<content type='text'>
This is by no means our final API, but should represent an
improvement.  Here instead of having to specify a list of files and
their is-this-optional status, along with a list of command-line
options, we have a single structure that encapsulates all of that
information.

Two advantages here:

 - Callers no longer have to remember what the boolean means.
 - We can "reload" more easily, by keeping the source object around.

This change also implements the correct behavior for our default
configuration file in `arti::main`: if the file is absent and the
user doesn't list a config file, that's no problem.  But if the user
lists _that very same config file, we should insist that it be
present.
</content>
</entry>
<entry>
<title>arti-bench: summarize statistics with a new `Statistic` type (#298)</title>
<updated>2022-02-01T16:09:24Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-02-01T16:09:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5b14008a82b9efbf3e260d08f65322a04fc96bbd'/>
<id>urn:sha1:5b14008a82b9efbf3e260d08f65322a04fc96bbd</id>
<content type='text'>
This implements the proposal from arti#298, making the
`BenchmarkResults` type be made out of a bunch of new `Statistic` types
(which summarize the mean, median, range, and standard deviation of an
arbitrary value) instead of overloading `TimingSummary` for this
purpose.
</content>
</entry>
<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>
</feed>
