Coder Social home page Coder Social logo

Comments (14)

zesterer avatar zesterer commented on August 15, 2024 2

I've an in-progress refactor that builds the channel on top of a no-std, async core. I believe that this could act as the step necessary to facilitate porting to std. However, it's not finished yet.

from flume.

zesterer avatar zesterer commented on August 15, 2024 1

Yes, I think that's the most reasonable approach.

from flume.

zesterer avatar zesterer commented on August 15, 2024 1

I've not done a huge amount of work on the branch and it still has a few subtle issues that need resolving (mostly relating to async usage). However, I can open a PR for discussion about it.

from flume.

zesterer avatar zesterer commented on August 15, 2024 1

I've opened a draft PR here.

I don't know how much time I'll get to work on this. If you or someone else wants to work on resolving some of the issues, I'd be very happy to accept PRs!

from flume.

Restioson avatar Restioson commented on August 15, 2024

There has been some talk on the T-libs Zulip about this, so it's definitely a goal! Currently we are fixing some bugs and trying to optimize so that we don't perform so poorly compared to crossbeam for low-bound bounded channels, rendezvous channels, and SPSC channels. Here is what the benches currently look like (0.7.1). We are beating std in almost all the benches but we have the aforementioned areas of weakness.
image

from flume.

zesterer avatar zesterer commented on August 15, 2024

Here are the latest numbers from the flavour-refactor branch (Linux, AMD Ryzen 7, 4 cores, 8 threads).

image

from flume.

Ericson2314 avatar Ericson2314 commented on August 15, 2024

Was there any more progress on this? I am possibly interested in helping out.

from flume.

Ericson2314 avatar Ericson2314 commented on August 15, 2024

I suppose the first challenge is that there isn't an optional std feature for flume (i.e. no-std + alloc or whatever support), and I am not sure how one could make one without breaking up std into more crates first (because of std::thread usage, etc.)

from flume.

Restioson avatar Restioson commented on August 15, 2024

Yea. I think it would probably need to be source copied into std because of this?

from flume.

Ericson2314 avatar Ericson2314 commented on August 15, 2024

Well then it's liable to stagnate; I prefer approaches were std can just use the crates.io crate to better leverage the good work being done in the ecosytem on an ongoing basis :).

from flume.

Restioson avatar Restioson commented on August 15, 2024

So the idea then would be that std would use the core and wrap it (in house) with synchronicity primitives to fit in the mpsc api?

from flume.

Ericson2314 avatar Ericson2314 commented on August 15, 2024

Oh, nice! Looking forward to seeing that. Even as a heavily WIP draft PR :).

from flume.

Ericson2314 avatar Ericson2314 commented on August 15, 2024

@zesterer Any luck? Maybe want to open a WIP PR?

from flume.

Ericson2314 avatar Ericson2314 commented on August 15, 2024

Thanks!

from flume.

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.