summaryrefslogtreecommitdiff
path: root/crates/equix
Commit message (Collapse)AuthorAgeFilesLines
* Update other cargo.lock files.Nick Mathewson2023-10-021-2/+2
|
* Patchlevel bumps, with dependents affected.Nick Mathewson2023-10-021-2/+2
|
* Update bench lockfiles for new fixed-capacity-vecNick Mathewson2023-09-201-2/+2
|
* Switch to FixedCapacityVec 0.1.0 from crates.ioIan Jackson2023-09-061-0/+7
|
* Upgrade bench/ lockfiles too.Nick Mathewson2023-09-051-82/+93
|
* Update patchlevel for crates with nontrivial changes.Nick Mathewson2023-09-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are: ``` hashx equix tor-async-utils tor-error tor-config tor-rtmock tor-llcrypto tor-bytes tor-hscrypto tor-hspow tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-netdir tor-chanmgr tor-guardmgr tor-dirmgr tor-keymgr tor-hsclient tor-hsservice arti-client arti ```
* Update equix/bench/Cargo.lock.Nick Mathewson2023-09-051-3/+3
|
* Upgrade to visibility 0.1.0Nick Mathewson2023-09-051-1/+1
|
* Run add_warnings on all files.Nick Mathewson2023-08-041-2/+2
|
* equix/bench: Update Cargo.lockMicah Elizabeth Scott2023-08-021-0/+12
| | | | New dependency from 82eb88bd7462069537e82be8488d5b9b7d3a3f7a
* Merge branch 'ticket889_fuzz' into 'main'Nick Mathewson2023-08-0210-18/+240
|\ | | | | | | | | Fuzzers for Equi-X and HashX See merge request tpo/core/arti!1459
| * equix/fuzz: CI and doc fixesMicah Elizabeth Scott2023-08-021-6/+9
| | | | | | | | | | | | | | | | The build found a stale private doc comment as well as an exception that needed to be made in check_doc_features. The check_doc_features change solidifies a decision that things marked with cfg(fuzzing) aren't part of the documented API.
| * hashx/fuzz, equix/fuzz: use arti-corporaMicah Elizabeth Scott2023-08-012-1/+2
| | | | | | | | | | Remove corpus from .gitignore and add a symlink to the corpora submodule.
| * equix/fuzz: rustfmtMicah Elizabeth Scott2023-08-011-19/+16
| |
| * equix/fuzz: Fixes to get nick's prototype runningMicah Elizabeth Scott2023-08-017-23/+65
| | | | | | | | | | | | | | | | | | There are some places we might improve this, maybe testing more data types and shapes. This patch just makes the minimal changes necessary to get it working: adds allocation logic to the fuzzer itself, and adds visibility for the bucket_array::mem interface. Signed-off-by: Micah Elizabeth Scott <[email protected]>
| * WIP: Fuzzer for BucketArray.Nick Mathewson2023-08-013-0/+179
| |
* | hashx/bench, equix/bench: Enable debug symbolsMicah Elizabeth Scott2023-08-011-0/+5
| | | | | | | | | | | | | | | | Propagates this setting from the outer Cargo.toml to the new benchmark crates, since they no longer get the setting by being included in the main workspace. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* | hashx/bench, equix/bench: check in matching Cargo.lock filesMicah Elizabeth Scott2023-08-012-1/+1109
| | | | | | | | | | | | | | | | It might be useful to keep these locked down for benchmark reproducibility. Currently the hashx and equix crates are fully separate. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* | equix, hashx: Benchmark against C implementationMicah Elizabeth Scott2023-08-015-86/+246
|/ | | | | | | | | | | | | | | | | | | | | This is a small batch of improvements for the equix and hashx benchmarks. The headline feature is that we are now including the C implementations (slightly modified from tevador's, hosted as part of c-tor) and using them in apples-to-apples comparisons. Minor features: - Benchmarks moved to new nested crates, preventing their dependencies from spilling into the main workspace build. - Tests are now grouped - We also test the performance of memory reuse where possible - Code cleanup for per-runtime options These benchmark builds will now automatically pull in the c-tor git repo and build portions of it with a Rust wrapper. This uses the 'cc' and 'bindgen' crates, so it requires a C compiler and libclang on the host system. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* Run "fixup features" in preparation for a release.Nick Mathewson2023-08-011-1/+1
|
* equix, hashx: Additional comment tweaksMicah Elizabeth Scott2023-07-273-11/+63
| | | | | | More review feedback. Thanks nickm! Signed-off-by: Micah Elizabeth Scott <[email protected]>
* equix, hashx: Prepare for an initial LGPL releaseMicah Elizabeth Scott2023-07-271-1/+6
| | | | | | | This replaces the 'TODO' marker from earlier commits, using tevador's copyright and license (LGPL 3.0 only) for the hashx and equix crates. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* tor-hspow, equix, hashx: Comment tweaksMicah Elizabeth Scott2023-07-278-77/+105
| | | | | | Making a few comment tweaks suggested in review feedback. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* tor-hspow, equix, hashx: Make all error types CloneMicah Elizabeth Scott2023-07-271-1/+1
| | | | | | | This uses an Arc to hold std::io::Error for low-level HashX runtime errors. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* equix: Refactoring for bucket_arrayMicah Elizabeth Scott2023-07-274-434/+662
| | | | | | | This splits up bucket_array into two smaller modules, one for the hash table behavior and one for the MaybeUninit memory management. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* Update equix, hashx, tor-hspow for new clippy defaultsMicah Elizabeth Scott2023-07-271-1/+1
| | | | Just running maint/add_warning after the rebase
* Reimplement Equi-X in RustMicah Elizabeth Scott2023-07-2712-0/+1706
This is a new pure Rust implementation of the Equi-X algorithm designed by tevador for Tor's onion service proof of work puzzle v1. Equi-X is an asymmetric puzzle algorithm based on Equihash, with N=60, K=3, the XOR replaced with modular addition, a 16-bit index space, and HashX as the inner hash function. Signed-off-by: Micah Elizabeth Scott <[email protected]>