Joakim Frostegård
352f571c42
Decide to use Apache 2.0 license, add file and update Cargo.toml's
2020-04-20 16:54:43 +02:00
Joakim Frostegård
88feb49c3d
aquatic_bench: fix progress bar min width for request type info
2020-04-19 10:38:59 +02:00
Joakim Frostegård
ca52b44389
split connection and torrent mutexes again
2020-04-13 12:01:17 +02:00
Joakim Frostegård
b9a9a82207
bench: add announce and scrape benchmarks
...
Only announce seems to be faster with more threads
2020-04-13 03:23:17 +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
f37ba1e52e
Use (unbounded) SegQueue instead of ArrayQueue
2020-04-11 20:00:51 +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
9bf17b0ab4
bittorrent_udp: response_to_bytes: return Result<(), io:Error>
2020-04-11 15:03:50 +02:00
Joakim Frostegård
9a1143ffac
aquatic_bench: enable loading configuration from file
2020-04-11 14:31:21 +02:00
Joakim Frostegård
fe85901021
bittorrent_udp: add RequestParseError; remove InvalidRequest; other fixes
2020-04-10 15:16:20 +02:00
Joakim Frostegård
264ad17b7b
aquatic_bench: use 20 rounds again
2020-04-10 03:29:26 +02:00
Joakim Frostegård
13e7ef6b57
bittorrent_udp: response_from_bytes: more fixes
2020-04-09 20:43:42 +02:00
Joakim Frostegård
05d085e076
aquatic_bench: Cargo.toml: sort dependencies alphabetically
2020-04-09 11:52:23 +02:00
Joakim Frostegård
b457df26e3
aquatic annonunce handler: downgrade TorrentMap ref instead of new .get
2020-04-09 11:46:06 +02:00
Joakim Frostegård
32edee9bbb
aquatic: add #[inline] to handle_readable_socket and handlers
...
Also update aquatic_bench comment with new bench results
2020-04-09 10:14:53 +02:00
Joakim Frostegård
2fd732efc6
aquatic: handlers: pass rng's as function arguments
2020-04-09 09:53:18 +02:00
Joakim Frostegård
910accad31
announce handler: keep mutable access to torrent map less time
2020-04-08 13:32:18 +02:00
Joakim Frostegård
b40d205ccd
bench: make "print_results" a function instead of a macro
2020-04-08 13:12:58 +02:00
Joakim Frostegård
2d01a34ff7
bench: don't accumulate state over runs
2020-04-08 13:08:41 +02:00
Joakim Frostegård
209072aa4a
Update benchmark stats
2020-04-08 12:11:56 +02:00
Joakim Frostegård
a865f4a1ae
Add inline markers; simplify ip address conversion in request_from_bytes
2020-04-08 11:21:00 +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
e4dfe2852c
aquatic: add Config struct, use in code
2020-04-06 20:14:24 +02:00
Joakim Frostegård
51f2fcea45
turn of mimalloc security features, seemingly improving performance
2020-04-06 14:38:59 +02:00
Joakim Frostegård
57b5b130a1
aquatic_bench: update module comment with benchmark results
2020-04-06 14:07:28 +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
e42dc05996
Add scripts dir with "run-server.sh" and "bench-handlers.sh"
2020-04-06 13:16:52 +02:00
Joakim Frostegård
165214018c
Move benchmarks to seperate crate "aquatic_bench"
2020-04-06 12:49:54 +02:00