| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| |
| | |
This version pushes the panic into the call site, which seems much
better. No change to the iai results.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is quite shoddy. It shouldn't be merged without some tidying up
and unit tests and so on. Also I am confused about the difference
between NUM_INSTRUCTIONS and model::REQUIRED_INSTRUCTIONS.
However:
generate_interp_1000x
Instructions: 220115418 (-1.147100%)
L1 Accesses: 278918725 (-0.936103%)
L2 Accesses: 25 (-98.46248%)
RAM Accesses: 414 (-0.956938%)
Estimated Cycles: 278933340 (-0.938920%)
generate_interp_1000x_c
Instructions: 272748034 (No change)
L1 Accesses: 349932970 (+0.000001%)
L2 Accesses: 76 (-1.298701%)
RAM Accesses: 405 (-0.491400%)
Estimated Cycles: 349947525 (-0.000021%)
generate_compiled_1000x
Instructions: 257344624 (-0.982784%)
L1 Accesses: 343007206 (-0.753942%)
L2 Accesses: 152502 (-17.12839%)
RAM Accesses: 809 (-0.369458%)
Estimated Cycles: 343798031 (-0.797384%)
generate_compiled_1000x_c
Instructions: 281855218 (No change)
L1 Accesses: 362569043 (+0.000002%)
L2 Accesses: 87 (-4.395604%)
RAM Accesses: 466 (-0.427350%)
Estimated Cycles: 362585788 (-0.000023%)
interp_u64_hash_1000x
Instructions: 13451818 (-0.100680%)
L1 Accesses: 16623452 (-0.105967%)
L2 Accesses: 28 (No change)
RAM Accesses: 392 (-1.507538%)
Estimated Cycles: 16637312 (-0.107138%)
interp_8b_hash_1000x_c
Instructions: 8618541 (No change)
L1 Accesses: 12316165 (+0.000032%)
L2 Accesses: 80 (-2.439024%)
RAM Accesses: 428 (-0.465116%)
Estimated Cycles: 12331545 (-0.000616%)
compiled_u64_hash_100000x
Instructions: 87312230 (-1.358594%)
L1 Accesses: 94397055 (-1.669415%)
L2 Accesses: 212 (-0.469484%)
RAM Accesses: 776 (-0.767263%)
Estimated Cycles: 94425275 (-1.669144%)
compiled_8b_hash_100000x_c
Instructions: 91547640 (No change)
L1 Accesses: 98838176 (+0.000009%)
L2 Accesses: 134 (-4.964539%)
RAM Accesses: 481 (-0.414079%)
Estimated Cycles: 98855681 (-0.000097%)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
generate_interp_1000x
Instructions: 222669662 (-0.146601%)
L1 Accesses: 281554367 (+0.069275%)
L2 Accesses: 1623 (-90.13494%)
RAM Accesses: 418 (No change)
Estimated Cycles: 281577112 (+0.042908%)
generate_interp_1000x_c
Instructions: 272748034 (No change)
L1 Accesses: 349932970 (+0.000001%)
L2 Accesses: 74 (No change)
RAM Accesses: 407 (-0.731707%)
Estimated Cycles: 349947585 (-0.000029%)
generate_compiled_1000x
Instructions: 259898868 (-0.124860%)
L1 Accesses: 345603941 (+0.055045%)
L2 Accesses: 193008 (-4.001910%)
RAM Accesses: 812 (-0.490196%)
Estimated Cycles: 346597401 (+0.043228%)
generate_compiled_1000x_c
Instructions: 281855218 (No change)
L1 Accesses: 362569040 (+0.000000%)
L2 Accesses: 88 (+2.325581%)
RAM Accesses: 468 (-0.636943%)
Estimated Cycles: 362585860 (-0.000026%)
interp_u64_hash_1000x
Instructions: 13465375 (-0.024687%)
L1 Accesses: 16641089 (-0.028974%)
L2 Accesses: 25 (+8.695652%)
RAM Accesses: 398 (+0.505051%)
Estimated Cycles: 16655144 (-0.028470%)
interp_8b_hash_1000x_c
Instructions: 8618541 (No change)
L1 Accesses: 12316165 (+0.000016%)
L2 Accesses: 78 (No change)
RAM Accesses: 430 (-0.462963%)
Estimated Cycles: 12331605 (-0.000551%)
compiled_u64_hash_100000x
Instructions: 88514787 (-0.000365%)
L1 Accesses: 95999693 (+0.000196%)
L2 Accesses: 208 (-0.952381%)
RAM Accesses: 782 (-0.255102%)
Estimated Cycles: 96028103 (+0.000112%)
compiled_8b_hash_100000x_c
Instructions: 91547640 (No change)
L1 Accesses: 98838171 (-0.000002%)
L2 Accesses: 137 (+3.007519%)
RAM Accesses: 483 (-0.412371%)
Estimated Cycles: 98855761 (-0.000053%)
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
hss: Retry rendezvous circuit attempts.
Closes #1013
See merge request tpo/core/arti!1547
|
| | | |
| | |
| | |
| | | |
Closes #1013.
|
| | | | |
|
| |/ / |
|
| | |
| |
| |
| |
| |
| |
| | |
Now that [ssh-key 0.6.1] is out, we no longer need the explicit sec1
dependency in tor-keymgr.
[ssh-key 0.6.1]: https://github.com/RustCrypto/SSH/pull/155
|
| |\ \
| | |
| | |
| | |
| | | |
Sort out HsNickname, and improve ArtiPathComponent
See merge request tpo/core/arti!1544
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
And add a TODO about the error type.
|
| |/ /
| |
| |
| |
| |
| |
| |
| | |
A warning is getting in my way when I run
cargo clippy -p tor-hsservice --all-features
See also
https://gitlab.torproject.org/tpo/core/arti/-/issues/1006#note_2932088
|
| | |
| |
| |
| |
| | |
Fixes CI. There was a semantic conflict between !1535 (which added a
suppression) and !1523 (which added a new module).
|
| |\ \
| | |
| | |
| | |
| | | |
clippy: Suppress needless_pass_by_value in tests
See merge request tpo/core/arti!1535
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
hss: use send_raw_msg in rend_handshake.
See merge request tpo/core/arti!1536
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
tor-netdoc: Remove redundant `IntroPointDesc` struct.
See merge request tpo/core/arti!1528
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Removing the private `IntroPointDesc` isn't really a breaking change,
and neither is changing the type of `HsDescBuilder::intro_points`'s
argument (because nobody would've been able to this function in the
first place as `IntroPointDesc` was never exported from tor-netdoc), so
let's remove the semver.md.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit replaces `tor_netdoc::hsdesc::inner::IntroPointDesc` with
the (almost identical) `tor_netdoc::hsdesc::IntroPointDesc`.
The only difference between the two structs is that
`inner::IntroPointDesc` wraps a `Vec<LinkSpec>` instead of a
`Vec<EncodedLinkSpec>`. Since `EncodedLinkSpec` can be derived from
`LinkSpec` (and vice-versa), and since `hsdesc::inner::IntroPointDesc`
never made it in our public API, this commit also removes
`hsdesc::inner::IntroPointDesc` in favour of `hsdesc::IntroPointDesc`.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
One of rustfmt's changes here is wrong. Whatever.
|
| |/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Now new() only has a reasonable number of arguments and removes some
repetition in the mocking arrangements in the IPT Manager.
This is the minimum amount that needs to be done in the commit that
touches both the IPT Establisher and the Manager.
|
| |\ \ \ \
| | |_|/
| |/| |
| | | |
| | | | |
hashx_cachegrind: factor out some common stuff in benchmarks
See merge request tpo/core/arti!1529
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
The macro generates similar but not identical code.
There are new bindings.
|
| | | | |
| | | |
| | | |
| | | | |
This is going to be more obviously useful in a moment.
|
| | | | |
| | | |
| | | |
| | | | |
The macro generates precisely the existing code.
|
| | | |/
| |/|
| | |
| | | |
The macro generates precisely the existing code.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
About half of an IPT Manager
See merge request tpo/core/arti!1523
|
| | | |
| | |
| | |
| | |
| | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1523#note_2934367
|
| | | |
| | |
| | |
| | |
| | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1523#note_2934299
|
| | | |
| | |
| | |
| | |
| | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1523#note_2934300
|
| | | |
| | |
| | |
| | |
| | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1523#note_2934298
|
| | | | |
|
| | | |
| | |
| | |
| | | |
There are many TODOs and no tests, but it does compile.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
I still think putting these in svc/ module doesn't make much sense.
Anyway, we can leave them there for now, but I need to get at them
from crate::ipt_establisher.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This module is perhaps rather more comprehensive than needed right
now. But I found I kept wanting to change which bits of it I used.
|
| | | |
| | |
| | |
| | |
| | | |
Sync is actually otiose - and I'm about to have some test cases with
futures that aren't Sync.
|
| | | | |
|