Commit graph

328 commits

Author SHA1 Message Date
Joakim Frostegård
5c83af9f88 Move some code from aquatic_udp into aquatic_common 2020-05-11 17:06:37 +02:00
Joakim Frostegård
1b8d74e26d rename aquatic to aquatic_udp, same for bench and load test crates 2020-05-11 16:55:46 +02:00
Joakim Frostegård
5b58db90e3 aquatic_ws: pass on offers to other peers; minor fixes 2020-05-08 21:05:46 +02:00
Joakim Frostegård
4d0c3d309a aquatic_ws: add tungstenite::Message encode and decode, not tested 2020-05-07 19:34:28 +02:00
Joakim Frostegård
cf75a07a7e WIP: aquatic_ws: start work on data structures, data flow 2020-05-07 16:49:28 +02:00
Joakim Frostegård
1080652282 WIP: start work on webtorrent support 2020-05-07 01:08:29 +02:00
Joakim Frostegård
6110017980 aquatic: add setting for dropping privileges after opening sockets 2020-05-06 15:54:03 +02:00
Joakim Frostegård
c8ce374736 Run cargo update 2020-04-28 13:25:59 +02:00
Joakim Frostegård
f6ed47fec7 add aquatic_load_test for benchmarking aquatic over the network 2020-04-19 10:21:12 +02:00
Joakim Frostegård
f4ca9c2795 aquatic_bench: start work on fixing it: create new connect bencher 2020-04-13 01:34:05 +02:00
Joakim Frostegård
e61c961126 Use hashbrown hashmap directly for faster hash (ahash) 2020-04-12 13:19:07 +02:00
Joakim Frostegård
558ddadf28 Remove DashMap, use parking_lot::Mutex<HashMap> instead 2020-04-11 22:07:09 +02:00
Joakim Frostegård
70cc193522 Use crossbeam channel insteaf of SegQueue
Reduces overutilization of CPU greatly
2020-04-11 21:11:25 +02:00
Joakim Frostegård
3527952242 start work on using seperate threads for sockets and handlers 2020-04-11 19:35:15 +02:00
Joakim Frostegård
8d7cbb7926 aquatic_bench: test multiple threads at once, with disappointing results
DashMap doesn't scale as well as I had hoped. Only the scrape
handler performed somewhat better with more threads, since it
doesn't exlusively lock the torrent map. The announce and connect
handlers, however, gained barely nothing from more threads.
2020-04-11 17:54:23 +02:00
Joakim Frostegård
9a1143ffac aquatic_bench: enable loading configuration from file 2020-04-11 14:31:21 +02:00
Joakim Frostegård
c964f05e84 bittorrent_udp: add quickcheck tests for response byte conversion 2020-04-10 03:30:53 +02:00
Joakim Frostegård
ac52668a3d add crate cli_helpers with option and config parsing; use in aquatic
Putting cli functionality into its own crate will allow using it
from aquatic_bench and possibly other programs.
2020-04-09 16:55:40 +02:00
Joakim Frostegård
a99688a5a2 benchmark byte conversion as well; bittorrent_udp: use buffers 2020-04-07 20:19:28 +02:00
Joakim Frostegård
51590a3d6c aquatic: print stats about number of peers per torrent 2020-04-07 16:57:34 +02:00
Joakim Frostegård
0ca5040cbe bench_handlers: add indicatif progress bars (nice but a bit unnecessary) 2020-04-06 13:51:03 +02:00
Joakim Frostegård
165214018c Move benchmarks to seperate crate "aquatic_bench" 2020-04-06 12:49:54 +02:00
Joakim Frostegård
8c57b3c4fe bench_handlers: run several test rounds, print averages 2020-04-06 03:43:06 +02:00
Joakim Frostegård
9d66a5e7d0 Use mimalloc instead of system allocator 2020-04-06 02:42:23 +02:00
Joakim Frostegård
ab457aaf82 bench: add pareto plot util; use other shape in bench; refactor 2020-04-05 16:00:48 +02:00
Joakim Frostegård
496c06b72f add benchmarks for connect and announce handlers 2020-04-05 13:51:31 +02:00
Joakim Frostegård
c26fc942e3 Add quickcheck tests; actually delete types.rs file 2020-04-05 04:07:18 +02:00
Joakim Frostegård
ace2e1a296 Initial commit: aquatic, udp bittorrent tracker 2020-04-04 22:08:32 +02:00