Channels for tasks?
Matt
MATTCA at sky.com
Thu Jul 18 11:35:40 PDT 2013
On Thursday, 18 July 2013 at 16:41:34 UTC, Jesse Phillips wrote:
> I don't think this is really an answer, but awhile back I was
> looking into the difference of D and Go for
> parallel/concurrency and created these two examples[1][2] from
> the blog
>
> http://www.mprescient.com/journal/2011/1/9/concurrency-in-go-a-call-center-tutorial.html
>
> 1. https://gist.github.com/JesseKPhillips/773979
> 2. https://gist.github.com/JesseKPhillips/774983
>
> The first is a translation to message passing, the second is
> using std.parallelism
>
> I think there is room for higher level APIs, but I don't think
> we will see anything that resembles Goroutines being added.
Thanks for the examples, I'll have to take a look at them later!
I guess the different backgrounds is the reason for a lack of D
'goroutines', but parallelism seemed a good alternative.
Is the performance of parallelism and it's taskpools similar to
goroutines? It seems they both do the same thing (adding the
tasks to a queue, allocating them to a group of threads, etc),
but does the level of implementation (library vs language) mean a
speed difference?
Furthermore, is there a limit to the number of tasks that can be
spawned and performed in parallel? I know Rust allows for
hundreds, even thousands, of tasks to be executed "concurrently."
Thanks for the replies,
Matt.
More information about the Digitalmars-d
mailing list