Update TODO

This commit is contained in:
Joakim Frostegård 2020-04-08 20:20:57 +02:00
parent 910accad31
commit 13790b5d60

20
TODO.md
View file

@ -1,7 +1,14 @@
# TODO # TODO
* Configuration, cli * Configuration, cli
* Tests * Benchmarks
* Run multiple threads to test performance when contested?
* Iterate over whole returned buffer and run e.g. xor on it (.iter().fold())
* Generic bench function since current functions are almost identical
* Tests of aquatic and bittorrent_udp (quickcheck, test cases)
## Not important
* extract_response_peers * extract_response_peers
* Cleaner code * Cleaner code
* Stack-allocated vector? * Stack-allocated vector?
@ -11,9 +18,6 @@
* Save last results, check if difference is significant? * Save last results, check if difference is significant?
* ProgressBar: `[{elapsed_precise}]` and eta_precise? * ProgressBar: `[{elapsed_precise}]` and eta_precise?
* Test server over udp socket instead? * Test server over udp socket instead?
* Run multiple threads to test performance when contested?
* Iterate over whole returned buffer and run e.g. xor on it (.iter().fold())
* Generic bench function since current functions are almost identical
* Performance * Performance
* cpu-target=native good? * cpu-target=native good?
* mialloc good? * mialloc good?
@ -23,12 +27,10 @@
* ParseError enum maybe, with `Option<TransactionId>` * ParseError enum maybe, with `Option<TransactionId>`
* Avoid heap allocation in general if it can be avoided? * Avoid heap allocation in general if it can be avoided?
* Optimize bytes to scrape request: Vec::with_capacity or other solution (SmallVec?) * Optimize bytes to scrape request: Vec::with_capacity or other solution (SmallVec?)
* quickcheck tests for conversions
* other unit tests?
## Don't do # Don't do
### aquatic ## aquatic
* Other HashMap hashers (such as SeaHash): seemingly not worthwhile (might be * Other HashMap hashers (such as SeaHash): seemingly not worthwhile (might be
with AVX though) with AVX though)
@ -36,7 +38,7 @@
* Config behind Arc in state: it is likely better to be able to pass it around * Config behind Arc in state: it is likely better to be able to pass it around
without state without state
### bittorrent_udp ## bittorrent_udp
* Use `bytes` crate for bittorrent_udp: seems to worsen performance somewhat * Use `bytes` crate for bittorrent_udp: seems to worsen performance somewhat
* Zerocopy (https://docs.rs/zerocopy/0.3.0/zerocopy/index.html) for requests * Zerocopy (https://docs.rs/zerocopy/0.3.0/zerocopy/index.html) for requests