Joakim Frostegård
623f43f202
Add load test pdf, remove load test details from README
2020-04-19 20:58:05 +02:00
Joakim Frostegård
4f21a90bb8
Improve looks of README
2020-04-19 19:31:37 +02:00
Joakim Frostegård
44a58d4946
Add benchmarks to README; update TODO
2020-04-19 19:27:20 +02:00
Joakim Frostegård
61841fffc3
Update TODO
2020-04-19 12:06:06 +02:00
Joakim Frostegård
a8e27f0d74
load test: fix report bug
2020-04-19 11:00:43 +02:00
Joakim Frostegård
ec93760304
Update TODO
2020-04-19 10:39:52 +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
7ba61ee6b7
aquatic: improve comment for NetworkConfig.socket_recv_buffer_size
2020-04-19 10:34:01 +02:00
Joakim Frostegård
d63d8e14f4
README: improve tone in trivia section
2020-04-19 10:32:47 +02:00
Joakim Frostegård
b77af78483
Add scripts for setting up benchmarks on linux
2020-04-19 10:31:33 +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
eb3ba6a2ce
Update TODO
2020-04-14 22:05:20 +02:00
Joakim Frostegård
4127cbc7c9
aquatic: handlers: minor syntax and comment improvements
2020-04-14 20:13:12 +02:00
Joakim Frostegård
6fca5cd9d5
aquatic: config: resort to default values for keys not present in file
2020-04-14 17:45:35 +02:00
Joakim Frostegård
57c5d8314f
Update TODO
2020-04-14 16:25:47 +02:00
Joakim Frostegård
f0ec858bef
socket workers: add Vec for requests (send together) and responses
...
Local response vector is used for error responses
2020-04-13 17:13:03 +02:00
Joakim Frostegård
6950726b3c
aquatic: actually send error responses from parsing
2020-04-13 16:52:05 +02:00
Joakim Frostegård
fbeade0ca2
Update README and TODO
2020-04-13 14:41:40 +02:00
Joakim Frostegård
c44c5b017f
aquatic: announce: fix bug in calculation of number of peers to take
2020-04-13 12:52:58 +02:00
Joakim Frostegård
8f68b3a9a2
aquatic: config: change default settings
2020-04-13 12:50:53 +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
6c4013ca55
Update TODO
2020-04-12 22:09:34 +02:00
Joakim Frostegård
06ff4ad9d0
aquatic: save valid_until Instant in connections and requests
...
Hopefully prevents strange subtraction overflow error, but
we'll see.
2020-04-12 22:04:42 +02:00
Joakim Frostegård
587096f76f
aquatic: give threads names when spawning them
2020-04-12 21:46:48 +02:00
Joakim Frostegård
140aa4b75d
aquatic: improve naming of socket workers, request workers
2020-04-12 21:40:38 +02:00
Joakim Frostegård
f8713c09c1
aquatic: handler: put responses in vector, send after releasing lock
2020-04-12 14:54:38 +02:00
Joakim Frostegård
16155f3de5
Update TODO
2020-04-12 14:46:49 +02:00
Joakim Frostegård
2779b6ec3a
aquatic: lock connections and torrents together; optimize handler
...
Handler: don't stop collecting requests early unless mutex can
be unlocked.
2020-04-12 14:44:34 +02:00
Joakim Frostegård
62a40317f9
Update TODO
2020-04-12 13:41:35 +02:00
Joakim Frostegård
cbae43e175
aquatic: HandlerConfig: add comment
2020-04-12 13:31:32 +02:00
Joakim Frostegård
ad7a8c46a9
aquatic: config: rename recv_buffer_size to socket_recv_buffer_size
2020-04-12 13:29:21 +02:00
Joakim Frostegård
5430e561f5
aquatic: Config: add fields for max handler request, channel timeout
2020-04-12 13:26:44 +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
eaa42a26b7
Update TODO
2020-04-12 12:35:05 +02:00
Joakim Frostegård
3c5b515be9
Update TODO
2020-04-11 22:22:44 +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
f37ba1e52e
Use (unbounded) SegQueue instead of ArrayQueue
2020-04-11 20:00:51 +02:00
Joakim Frostegård
6503e89375
Update TODO
2020-04-11 19:58:49 +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
eded822c31
Update TODO
2020-04-11 15:05:11 +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
054d36b316
Update TODO
2020-04-11 15:03:45 +02:00
Joakim Frostegård
c45fa80391
bittorrent_udp: simplify quickcheck test syntax, keeping functionality
2020-04-11 14:57:08 +02:00
Joakim Frostegård
02b63feef7
bittorrent_udp: add quickcheck tests for request byte conversion
2020-04-11 14:53:36 +02:00
Joakim Frostegård
554895a9df
bittorrent_udp: implement quickcheck::Arbitrary for request types
2020-04-11 14:43:58 +02:00
Joakim Frostegård
9a1143ffac
aquatic_bench: enable loading configuration from file
2020-04-11 14:31:21 +02:00