ip-v8 / rust-ipv8

Rust implementation of the IPv8 application.
https://ip-v8.github.io/rust-ipv8/ipv8
GNU Lesser General Public License v3.0
13 stars 2 forks source link

More benchmarks #52

Open NULLx76 opened 5 years ago

codecov[bot] commented 5 years ago

Codecov Report

Merging #52 into develop will increase coverage by 1.01%. The diff coverage is 75%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop      #52      +/-   ##
===========================================
+ Coverage    61.73%   62.75%   +1.01%     
===========================================
  Files           23       23              
  Lines         1725     1893     +168     
  Branches       468      507      +39     
===========================================
+ Hits          1065     1188     +123     
- Misses         224      226       +2     
- Partials       436      479      +43
Impacted Files Coverage Δ
src/payloads/binmemberauthenticationpayload.rs 53.84% <ø> (ø) :arrow_up:
src/crypto/mod.rs 57.89% <0%> (+1.57%) :arrow_up:
src/community/peer.rs 81.08% <100%> (-1.68%) :arrow_down:
src/serialization/mod.rs 67.65% <100%> (-2.62%) :arrow_down:
src/community/mod.rs 70.83% <70.31%> (+18.2%) :arrow_up:
src/crypto/signature.rs 60.5% <71.42%> (-3.01%) :arrow_down:
src/networking/mod.rs 71.42% <77.77%> (+0.15%) :arrow_up:
src/crypto/keytypes.rs 57.08% <82.35%> (+1.94%) :arrow_up:
... and 6 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update cf03586...b7bac93. Read the comment docs.

codecov[bot] commented 5 years ago

Codecov Report

Merging #52 into develop will not change coverage. The diff coverage is 80%.

Impacted file tree graph

@@           Coverage Diff            @@
##           develop      #52   +/-   ##
========================================
  Coverage    62.75%   62.75%           
========================================
  Files           23       23           
  Lines         1893     1893           
  Branches       507      507           
========================================
  Hits          1188     1188           
  Misses         226      226           
  Partials       479      479
Impacted Files Coverage Δ
src/crypto/mod.rs 57.89% <ø> (ø) :arrow_up:
src/serialization/mod.rs 67.65% <100%> (ø) :arrow_up:
src/crypto/signature.rs 60.5% <66.66%> (ø) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 050fdbd...5550011. Read the comment docs.

codeclimate[bot] commented 5 years ago

Code Climate has analyzed commit 55500116 and detected 0 issues on this pull request.

View more on Code Climate.

NULLx76 commented 5 years ago

I also want to benchmark our throughput when using a work stealing threadpool, we could look at how tokio benchmarks this and do something similar

ichorid commented 5 years ago

I wonder why don't you use tokio for reactor/socket/threadpool? Is tokio too much for this? Or you wanted to minimize external dependencies?

NULLx76 commented 5 years ago

We did indeed try tokio but it was too much just like you said. The framework would "envelop" the application becoming comparable to twisted (requiring anyone that import the library to start it for example). We do use parts of tokio like mio which is basically the network backend of tokio, but we opted not to use the entire framework. The fact that it adds quite some external dependencies also factored in to this decision. We may reconsider using tokio when rust implements its own async which will happen in the not too distant future and also lessen the dependencies of tokio considerably, or if/when we see another reason (like performance) to do so.

We'll likely run some benchmarks to compare performance.