Commit graph

65 commits

Author SHA1 Message Date
Joakim Frostegård
7239e9c047 aquatic: add and use NetworkConfig.peer_announce_interval 2020-04-08 21:30:57 +02:00
Joakim Frostegård
ca9d15c7a9 aquatic: move some fields from Config into new NetworkConfig 2020-04-08 21:27:12 +02:00
Joakim Frostegård
fa60eddcc4 aquatic: add CleaningConfig and StatisticsConfig to Config, use them 2020-04-08 21:22:45 +02:00
Joakim Frostegård
766606cc08 aquatic: announce handler: improve safety by small margin 2020-04-08 20:26:39 +02:00
Joakim Frostegård
789783cfe4 aquatic scrape handler: preallocate stats vec better 2020-04-08 20:23:31 +02:00
Joakim Frostegård
13790b5d60 Update TODO 2020-04-08 20:20:57 +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
c75e36c105 Update TODO 2020-04-08 12:12:05 +02:00
Joakim Frostegård
209072aa4a Update benchmark stats 2020-04-08 12:11:56 +02:00
Joakim Frostegård
afa4ad318f aquatic stats print: fix newline printing issue 2020-04-08 11:56:30 +02:00
Joakim Frostegård
ff67998cc1 Update TODO 2020-04-08 11:50:12 +02:00
Joakim Frostegård
d896b6cf29 aquatic: print entire socket errors 2020-04-08 11:49:47 +02:00
Joakim Frostegård
52078ab1ad aquatic: print bandwidth used (based on bytes received and sent) 2020-04-08 11:43:18 +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
4721fa3109 Update TODO 2020-04-08 10:23:59 +02:00
Joakim Frostegård
1672ff2e37 Update TODO 2020-04-08 01:51:41 +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
e3d3e9ab57 Update TODO 2020-04-07 15:40:52 +02:00
Joakim Frostegård
3b52acbd20 aquatic: print num requests per readable poll event 2020-04-07 15:36:19 +02:00
Joakim Frostegård
3ca22c9f3f aquatic: take into account how many peers announcing peer wants back 2020-04-07 14:50:33 +02:00
Joakim Frostegård
00513209ad aquatic: move socket creation into run_event_loop function 2020-04-07 14:19:02 +02:00
Joakim Frostegård
40583b32a3 aquatic server conf: increase default recv_buffer_size 2020-04-07 14:11:26 +02:00
Joakim Frostegård
f348013abb aquatic: create new socket for each worker thread, don't clone one
This is the point of SO_REUSEPORT.
2020-04-07 14:09:29 +02:00
Joakim Frostegård
74e3a51fbe aquatic: add and use Config.poll_event_capacity 2020-04-07 13:50:10 +02:00
Joakim Frostegård
f5700bfa18 aquatic: add and use num_threads setting 2020-04-07 13:37:07 +02:00
Joakim Frostegård
19277831c8 aquatic: count received requests / sent responses, print on interval 2020-04-07 13:22:28 +02:00
Joakim Frostegård
ea2c37789d Update TODO 2020-04-06 20:24:08 +02:00
Joakim Frostegård
a674a5f087 Update TODO 2020-04-06 20:15:54 +02:00
Joakim Frostegård
e4dfe2852c aquatic: add Config struct, use in code 2020-04-06 20:14:24 +02:00
Joakim Frostegård
ad1fa5b833 aquatic: run_event_loop: extract inner logic to own function 2020-04-06 19:58:00 +02:00
Joakim Frostegård
8426e8f3f7 on invalid requests, return error response; simplify Request type 2020-04-06 19:43:49 +02:00
Joakim Frostegård
8cf3644e78 Update TODO 2020-04-06 15:45:42 +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
c3c634189d Update TODO 2020-04-06 14:07:50 +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
Joakim Frostegård
a627594c3a bench_handlers: parially extract setup portions for better profiling 2020-04-06 12:39:32 +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
d601025286 cleaning tasks: run shrink_to_fit on connection and torrent maps 2020-04-05 19:22:41 +02:00
Joakim Frostegård
70b5795818 bench: announce: test more requests 2020-04-05 18:29:28 +02:00
Joakim Frostegård
81cb03403d extract_response_peers: use faster method, improve testing 2020-04-05 18:29:08 +02:00
Joakim Frostegård
3c411bdbf4 announce handler: extract_response_peers: optimize 2020-04-05 16:37:35 +02:00
Joakim Frostegård
aa771f6a68 announce handler: init SmallRng outside of extract_response_peers 2020-04-05 16:31:02 +02:00
Joakim Frostegård
09cb31a4c9 rename handler.rs to handlers.rs 2020-04-05 16:23:51 +02:00