Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Dec 05 21:49
    cuviper edited #711
  • Dec 05 21:49
    cuviper synchronize #711
  • Dec 05 21:17
    cuviper synchronize #711
  • Dec 05 19:41
    cuviper synchronize #711
  • Dec 05 17:25
    cuviper opened #711
  • Nov 21 09:18
    kentfredric opened #710
  • Nov 21 00:42

    cuviper on rayon-core-v1.6.1

    (compare)

  • Nov 21 00:42

    cuviper on v1.2.1

    (compare)

  • Nov 21 00:35
    bors[bot] closed #709
  • Nov 21 00:35

    bors[bot] on master

    Avoid mem::uninitialized in par… Avoid mem::uninitialized in the… cargo fmt and 4 more (compare)

  • Nov 20 23:28
    cuviper labeled #707
  • Nov 20 23:06

    bors[bot] on staging.tmp

    (compare)

  • Nov 20 23:06

    bors[bot] on staging

    Avoid mem::uninitialized in par… Avoid mem::uninitialized in the… cargo fmt and 4 more (compare)

  • Nov 20 23:06

    bors[bot] on staging.tmp

    Avoid mem::uninitialized in par… Avoid mem::uninitialized in the… cargo fmt and 4 more (compare)

  • Nov 20 23:06

    bors[bot] on staging.tmp

    [ci skip][skip ci][skip netlify] (compare)

  • Nov 20 20:15
    cuviper opened #709
  • Nov 20 00:38
    cuviper closed #708
  • Nov 18 19:28
    calebwin closed #699
  • Nov 16 01:21
    bachue opened #708
  • Nov 08 19:41
    silwol synchronize #707
Niko Matsakis
@nikomatsakis
@cuviper btw I'm going to be on PTO for about a month as of next week
Josh Stone
@cuviper
@nikomatsakis ok -- any rayon wishes before you go?
deanmiller
@deanmiller
Hello, I am new to Rust and in the process of exploring libraries. My question is does Rayon currently support or plan to support parallelism (Treads) in WebAssembly in the future? thank you
*Threads^
Josh Stone
@cuviper
@deanmiller it's a bit awkward since wasm doesn't support the normal std::thread APIs
however, we added custom spawn support recently, and you can see it in use here: https://github.com/rustwasm/wasm-bindgen/tree/master/examples/raytrace-parallel
(although github appears to be down at the moment)
Sunjay Varma
@sunjay
What's the best way to just quit the program when a panic occurs?
I was thinking of defining a panic_handler that calls process::exit(1)
But I want to make sure I don't lose any of the panic info (still want the messages printed)
Is this the right way to do it?
Josh Stone
@cuviper
If no panic handler is set, the default is to abort the process, under the principle that panics should not go unobserved.
@sunjay isn't that already what you're asking for?
although rayon's panic handler really only applies to spawns -- other stuff, we just propagate panics to the caller
Sunjay Varma
@sunjay
I'm experiencing the behaviour described here: rayon-rs/rayon#638
I'd like to immediately quit completely as soon as any panic occurs, not wait for all the workers to finish
Hence why I want to use process::exit(1) since that would immediately quit everything
Josh Stone
@cuviper
ah, there's now panic_fuse() for that too
Sunjay Varma
@sunjay
I'm just not sure how to write a panic_handler and I don't see any examples that do anything with the closure parameter :)
Josh Stone
@cuviper
or if you want a global setting, you can set panic=abort in Cargo.toml
Sunjay Varma
@sunjay
Oh awesome! I didn't see panic_fuse
I will use that
Thanks!
:smile:
jq-rs
@jq-rs
Hello. FYI, seems that even with semver system, builds with older compiler are broken with old rayon crates. Thus, rayon compilation will fail on old systems as follows:
Compiling crossbeam-utils v0.6.6 error: 128-bit type is unstable (see issue #35118) | 533 | impl_arithmetic!(u128, "let a = AtomicCell::new(7u128);"); | ^^^^
I am currently looking for a workaround, let me know if you have one already.
Having the .lock file available is one, which I don't have in this case :b
jq-rs
@jq-rs
The workaround is to give command:
cargo update -p rayon-core --precise 1.4.1
Josh Stone
@cuviper
@jq-rs what old system are you running, where you don't have at least Rust 1.26?
I am usually very conservative about rustc requirements on crates I maintain
but we decided to limit that to about a year old for rayon: https://github.com/rayon-rs/rfcs/blob/master/accepted/rfc0003-minimum-rustc.md
another workaround is to directly require rayon-core = "~1.4" in your own Cargo.toml
to pair with rayon = "~1.0", since 1.1 is the version that needs newer rayon-core too
(~ restricts the minor version too, compared to normal semver policy)
jq-rs
@jq-rs
@cuviper Thanks for the info! The problem is that even if our master has new Rust compiler, the maintenance branches (which may be several years older) do not have it and it won't be upgraded there. So I would be very conservative about changing requirements for old crate versions on the fly. If possible, such requirements should be done for new crate versions only. Here I was expecting that rayon = "~1.0" would not update to rayon-core > 1.4, which needs newer compiler.
jq-rs
@jq-rs
BTW, https://github.com/rayon-rs/rfcs/blob/master/accepted/rfc0003-minimum-rustc.md is very good. To me it looks like "Increases to our minimum supported Rust will also require a new minor release in the semantic version of rayon crates, not just a patch release" means that this is just a glitch here and in the future it should work.
Josh Stone
@cuviper
unfortunately, even with rayon = "~1.0", cargo will still greedily choose the newest compatible rayon-core, and 1.5 is compatible with 1.4
so if you really need this, specifying rayon-core = "~1.4" is also required to keep it back
Josh Stone
@cuviper
@nikomatsakis sync?
Niko Matsakis
@nikomatsakis
@cuviper :wave:
Josh Stone
@cuviper
welcome back!
Niko Matsakis
@nikomatsakis
thanks :)
I'm still "coming back online"
how are things?
Josh Stone
@cuviper
I know the feeling, probably a mountain of email
things are good here
fairly quiet in rayon, at least :)
I poked at a new spawn_future in #679, but I'm an amateur in this area
Niko Matsakis
@nikomatsakis
ah, cool
next week btw I'll be in PDX basically all week