Commit Graph
160 Commits
Author SHA1 Message Date
Joakim Frostegård 9130bb146d Update TODO 2020-04-20 17:03:38 +02:00
Joakim Frostegård 9e7c27a789 aquatic: use shorter thread names 2020-04-20 17:00:13 +02:00
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 db09538037 Add cargo deny file deny.toml, check dependency licenses 2020-04-20 16:49:40 +02:00
Joakim Frostegård 8a347af5d6 Update TODO 2020-04-19 21:08:36 +02:00
Joakim Frostegård 1e29a422b0 Add usage section to README 2020-04-19 21:04:15 +02:00
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