Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Dec 10 22:34
    c410-f3r synchronize #712
  • Dec 10 22:19
    c410-f3r synchronize #712
  • Dec 10 01:11
    c410-f3r synchronize #712
  • Dec 10 01:07
    c410-f3r reopened #712
  • Dec 10 01:07
    c410-f3r synchronize #712
  • Dec 10 01:06
    c410-f3r closed #712
  • Dec 10 01:06
    c410-f3r synchronize #712
  • Dec 10 00:06
    c410-f3r edited #712
  • Dec 10 00:05
    c410-f3r opened #712
  • 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
Josh Stone
@cuviper
heh, ok
Niko Matsakis
@nikomatsakis
in particular I want him to help reconcile rust-rayon and normal rayon eventually
Josh Stone
@cuviper
let me know if I need to knock on his door directly
(not that I know exactly where he lives, but we're both PDXish)
:)
on reconciling, at least first we can rebase to my PR rust-lang/rustc-rayon#3
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?