Giter Club home page Giter Club logo

Comments (6)

alexforencich avatar alexforencich commented on May 28, 2024
  1. that's odd. I'm not sure why the scheduler would be doing anything for idle coroutines. I'll bring this up with the cocotb people. I can perhaps do some sort of lazy allocation of those resources - i.e. only spin up coroutines and allocate queues when IDs are active, and then perhaps delete them when the IDs become inactive. Lazy allocation could make sense, but if you do a sweep over the whole tag space, then you're right back where you started unless I also clean up inactive IDs, but then that's extra overhead if the problem is really in the cocotb scheduler.
  2. how do you get that call graph? That would be super useful for tweaking the interface extensions.

from cocotbext-axi.

alexforencich avatar alexforencich commented on May 28, 2024

Oh, I know what I can do - make the mapping dynamic, with lazy allocation. That way, it will only spin up coroutines up to the number of unique active IDs at any one time, independent of the number of possible IDs. In that case, I won't clean up the queues and coroutines, just remove them from the mapping to be used for a different ID.

from cocotbext-axi.

alexforencich avatar alexforencich commented on May 28, 2024

Oh, is this only a problem during init? After init, the simulation is fast?

from cocotbext-axi.

alexforencich avatar alexforencich commented on May 28, 2024

Alright, try again with the git version and let me know if the performance is any different.

from cocotbext-axi.

benbr8 avatar benbr8 commented on May 28, 2024

The most visible speed impact is at initialization and again at teardown, but I would also expect that having a large amount of dormant coroutines doesn't make the scheduler any faster ;).

The fix you provided works out great, thank you for the fast action!

The call graph is created with https://github.com/jrfonseca/gprof2dot

from cocotbext-axi.

alexforencich avatar alexforencich commented on May 28, 2024

I just released v0.1.12 with this change

from cocotbext-axi.

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.