News for hackers. Stuff that matters.
Re:Teaching Concurrency (2009) [pdf] by nkozyra on Wednesday September 21, 2016 @06:39PM (#12552896)
> Concurrency is also not more efficient on a single core.

This isn't a hard and fast rule. There is overhead to parallelism.

Re:Teaching Concurrency (2009) [pdf] by tbrownaw on Wednesday September 21, 2016 @07:07PM (#12553071)
And if you step out all the parallelism from your concurrency runtime, you get rid of a big chunk of the overhead. But even with purely cooperative single-threaded multitasking, there's still some overhead vs "ordinary" strictly serial code.
Re:Teaching Concurrency (2009) [pdf] by TickleSteve on Thursday September 22, 2016 @02:43AM (#12554933)
For CPU bound code, concurrency is pure overhead.

For I/O bound code, concurrency can give you some benefit.

...but in general, people do not analyse this before throwing tasks at a problem.

Re:Teaching Concurrency (2009) [pdf] by srean on Thursday September 22, 2016 @03:45AM (#12555202)
> ...but in general, people do not analyse this before throwing tasks at a problem.

Would that be just anecdotal ?

Re:Teaching Concurrency (2009) [pdf] by TickleSteve on Thursday September 22, 2016 @04:20AM (#12555347)
yes... in ~25 years in the business, over ~10 companies.

..and I can tell you that precisely none of them performed a correct analysis of a systems concurrency needs before 'designing' it.

A common artifact of this is far too many tasks.

Re:Teaching Concurrency (2009) [pdf] by srean on Thursday September 22, 2016 @04:48AM (#12555466)
I have seen egregious abuse of pre-emptive threads ... a lot. Abuse of green threads / fibres / coroutines ... not so much. I think one has to be a half decent programmer to be even aware those options.