When will Crystal have parallel processing?


#1

I see Crystal is coming along nicely, but I was wondering when it plans to provide true multi-thread parallel processing.

I just finished writing a paper about a new Twin Primes Sieve of Zakiya (SoZ) (links below) where I did all the mathematical and coding development in Ruby. The algorithm is designed for parallel operation, so I ended up using Nim to create a workable, and fast(est), implementation. Of course Ruby has the GIL. But the code computes a bunch of constants at compile time, to optimize speed, which makes a comparable version in JRuby and TruffleRuby questionable (which are supposed to support true parallel processing vis JVM).

I know Crystal, while a compiled language, still hasn’t implemented true parallel processing. So I’m asking when in the roadmap this may happen, and even when that becomes possible, will Crystal still be able to do all of what the Nim code does (behave comparably)?

I would love to be able to use Crystal to do this, because the code could be so much more concise and readable. And since most of the development (serial versions) was done in Ruby it should mostly be a straight translation.

Anyway, just thought I’d ask.


#2

It’s very difficult to provide time estimates for anything on the roadmap without 2-5x more funding


#3

Is BountySource still the best place for donating to the funding?


#4

BountySource is still a good option, but we’ve also launched https://opencollective.com/crystal-lang in case it’s a preferred platform for the backer.

Despite not offering a specific timeline, we are focused in safety and parallelism. We all want to see that out and usable for everybody. :slight_smile: