Code Monkey home page Code Monkey logo

Comments (3)

GGist avatar GGist commented on August 11, 2024

Seems that most of the CPU was coming from the disk manager.

However, I still see an issue (both on windows and linux), where after the download is complete, the CPU is pegged at 13% (windows desktop) or 40% (linux droplet). Interestingly enough, that CPU pegging seems to go away when adding a println statement here https://github.com/GGist/bip-rs/blob/master/bip_peer/src/manager/mod.rs#L335.

I thought it may be due to our usage of Mutex polling in the futures themselves, but switching those out for RefCell didnt make a difference. Additionally, I tried using unsync channels as opposed to the sync channels, and that did nothing as well (though interestingly, it seems the channel capacitys for sync and unsync mean different things, as an unsync capacity of 0 caused the channel to block, but I think thats a separate issue...).

I am going to try and reproduce using just the futures crate, as it may be that tasks are waking up more than they should (though it would be for both unsync and sync, which seems like a stretch).

from bip-rs.

GGist avatar GGist commented on August 11, 2024

Looks like its an issue with tokio-timer Sleep notifying us too frequently. Changing our tick duration doesnt seem to have a large effect on the CPU usage for us waking up, perhaps more often than we need to.

Will look in to what we can do to fix this.

from bip-rs.

GGist avatar GGist commented on August 11, 2024

So I was able to re-produce this very reliably yesterday, but today I can't reproduce it at all. Going to leave it here for a while in case it comes back...

from bip-rs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.