Commit graph

303 commits

Author SHA1 Message Date
Joakim Frostegård
d172fc4f8c Upgrade socket2 2021-08-15 23:32:59 +02:00
Joakim Frostegård
1028dcc709 Upgrade simd-json 2021-08-15 23:27:17 +02:00
Joakim Frostegård
c8bb648d23 Upgrade indicatif 2021-08-15 22:37:54 +02:00
Joakim Frostegård
e2897ed90b Upgrade simplelog 2021-08-15 22:33:28 +02:00
Joakim Frostegård
32541c5c15 Upgrade hashbrown 2021-08-15 22:29:09 +02:00
Joakim Frostegård
0cc312a78d Run cargo update 2021-08-15 22:15:09 +02:00
Joakim Frostegård
f728669401 Update tungstenite to version 0.13 2021-02-10 18:36:23 +01:00
Joakim Frostegård
7aad1a276e Run cargo update 2021-02-10 18:36:23 +01:00
Joakim Frostegård
405df71371 Upgrade tungstenite to version 0.12 2021-02-10 18:36:23 +01:00
Joakim Frostegård
f9626ade57 Upgrade quickcheck to 1.0, adjust code, optimizing a slow test 2021-02-10 18:36:23 +01:00
Joakim Frostegård
72ff55ae5d Run cargo update 2021-02-10 18:36:23 +01:00
Joakim Frostegård
e1260d14de Update rand to 0.8 and rand_distr to 0.4 2021-02-10 18:36:23 +01:00
Joakim Frostegård
de3042bf4a Update simplelog to 0.9 2021-02-10 18:36:23 +01:00
Joakim Frostegård
bbc351bb59 Update privdrop to 0.5 2021-02-10 18:36:23 +01:00
Joakim Frostegård
ac6eefc30f Update crossbeam-channel to 0.5 2021-02-10 18:36:23 +01:00
Joakim Frostegård
a3ab96f157 Run cargo update 2021-02-10 18:36:23 +01:00
Joakim Frostegård
fe11ed138a Use (patched) crates.io deps for crates, add some package metadata 2020-09-13 17:30:26 +02:00
Joakim Frostegård
66e9882f48 Update dependencies 2020-09-10 23:23:21 +02:00
Joakim Frostegård
f4187f4368 aquatic_udp: use log crate instead of eprintln, add LogLevel to Config 2020-08-13 04:52:50 +02:00
Joakim Frostegård
67234744e9 Remove plot_pareto crate 2020-08-13 04:19:00 +02:00
Joakim Frostegård
88423976c4 aquatic_http, aquatic_ws: add option for printing statistics
statistics are on number of peers per torrent
2020-08-13 03:58:28 +02:00
Joakim Frostegård
77ac17dec4 Run cargo update 2020-08-13 01:00:54 +02:00
Joakim Frostegård
9efc1fc66a add aquatic crate with master executable, refactor cli_helpers 2020-08-13 00:13:01 +02:00
Joakim Frostegård
bc5cd90371 aquatic http: use serde_bencode for deserialization
bendy seems not to manage lack of trailing newline
2020-08-12 04:26:09 +02:00
Joakim Frostegård
5d40954936 aquatic_ws: deserialize InMessage with simd-json for performance
From 18% to 13% CPU time during load test run.

Criterion benchmark of deserialization got about 90% improvement.
2020-08-11 06:32:51 +02:00
Joakim Frostegård
99724c7e5d aquatic_ws: add bench for InMessage::from_ws_message, take ws msg by ref 2020-08-11 05:36:29 +02:00
Joakim Frostegård
74a538963f aquatic_http_protocol: urlencode/urldecode Request.key
About 11% performance regression for Request::from_bytes
2020-08-10 04:37:01 +02:00
Joakim Frostegård
ea8b37b4d5 aquatic_ws_protocol: add quickcheck tests for message serde 2020-08-06 23:34:33 +02:00
Joakim Frostegård
8d58f8bb70 init logger in aquatic_cli_helpers crate 2020-08-02 21:21:58 +02:00
Joakim Frostegård
b289e1f590 aquatic http load test: remove unused slab dependency 2020-08-02 11:04:47 +02:00
Joakim Frostegård
cb3ec8cbf1 WIP: get http load test into better (but bad) state
Is now able to maintain correspondence with aquatic_http
and opentracker
2020-08-02 06:38:36 +02:00
Joakim Frostegård
6f2dc6a510 aquatic_ws: add InMessage::from_ws_message, use in load test 2020-08-01 22:45:19 +02:00
Joakim Frostegård
a28012a898 aquatic cli helpers: upgrade to gumdrop 0.8 2020-08-01 06:43:57 +02:00
Joakim Frostegård
55045279ac aquatic ws load test: send offers, count offer responses 2020-08-01 04:27:55 +02:00
Joakim Frostegård
a5108f813d WIP: aquatic_ws: add half-crappy load test, fix infinite loop bug 2020-08-01 03:35:00 +02:00
Joakim Frostegård
c7be84a61e aquatic_ws: upgrade to tungstenite 0.11 2020-08-01 00:13:38 +02:00
Joakim Frostegård
bdb6aced1c Run cargo update 2020-07-31 01:54:38 +02:00
Joakim Frostegård
d5de57b45f aquatic_ws: replace flume with crossbeam-channel
This improved performance in aquatic_http
2020-07-31 01:47:45 +02:00
Joakim Frostegård
228511b3aa aquatic_http: replace flume with crossbeam; clean connections less often 2020-07-24 20:36:46 +02:00
Joakim Frostegård
f1f708465a remove aquatic_common_tcp crate, move contents into aquatic_http
It doesn't make a lot of sense to make a separate crate for
the few things here. I don't really want tight coupling between
the crates anyway, since it impedes making changes in them
and makes understanding them more difficult.
2020-07-21 23:01:34 +02:00
Joakim Frostegård
52eeda2f2c aquatic_udp_bench: bump indicatif version 2020-07-21 01:03:23 +02:00
Joakim Frostegård
f2db4a43b9 Update lots of dependencies 2020-07-21 00:58:56 +02:00
Joakim Frostegård
95e25710dc aquatic_http: move request parsing into protocol crate 2020-07-20 20:13:56 +02:00
Joakim Frostegård
6691b77824 aquatic_http_load_test: store connections in a slab::Slab 2020-07-20 16:30:47 +02:00
Joakim Frostegård
da3b2bcd8c WIP: cleanup aquatic_http_load_test and aquatic_http_protocol 2020-07-20 14:50:19 +02:00
Joakim Frostegård
d1e9d24773 WIP: work on http load test (now partly working) and http protocol 2020-07-20 14:30:36 +02:00
Joakim Frostegård
5b0d364ccf WIP: start work on porting udp load test to http 2020-07-19 23:03:30 +02:00
Joakim Frostegård
4ac2012a2a aquatic_http: move protocol module to new crate aquatic_http_protocol 2020-07-19 21:59:31 +02:00
Joakim Frostegård
9df1f0ecc6 aquatic_http: rewrite request parsing, use smartstring
Use smartstring in PeerMapKey too.

Improves benchmark speed.

request-from-path:

time:   [2.1484 us 2.1530 us 2.1586 us]
change: [-24.246% -23.908% -23.570%] (p = 0.00 < 0.01)
Performance has improved.
2020-07-19 15:38:26 +02:00
Joakim Frostegård
a8e355f22a aquatic_http: add criterion benchmarks for request from path parsing
About 35% improvement by using both memchr methods
2020-07-19 01:58:41 +02:00