Jason House wrote:
Andrei Alexandrescu wrote:
Jason House wrote:
Andrei Alexandrescu Wrote:
But let's not forget we have concurrency ahead of us. I encourage you
all to chime in with your thoughts and ideas regarding all aspects of
concurrency. The recent multicore performance bug is a great starting
point. If you try e.g. shared and it's broken, let us know. If you try
it and it works, push it til it breaks. If you have ideas on how to make
semantic checking better, pipe up.
I posted several shared issues to the NG a few days ago and got no
replies. Most of it was about poor error messages (both misleading text
and missing file/line numbers). I should do proper bugzilla entries but
haven't tinkered with D much since. As always, this post comes from my
phone instead of a proper computer, or else I'd provide a link or do the
bugzilla entries while I'm thinking of it.
IIRC, the most troublesome error happened when I created "shared
this(){...}" constructor and no information on where it caused errors.
Thanks, Jason. I did see those messages but I didn't want to dilute
focus back when you posted them.
If you could put together bugzilla entries as you try things, that would
be great. The shared constructor I'll experiment with first.
I have reproduced and reported most of the issue I had hit with shared. If
it's any consolation, I was able to convert my message passing queues to use
shared, but hit issues when expanding to cover other uses of shared data
within my code base. There may also be an issue with what a shared delegate
is supposed to be and what can be inside of one, but I haven't really
worried about that too much. It's a hairy issue and partly my fault for
using delegates as messages between threads. When sending a message, I cast
the delegate to a shared delegate even though it access immutable data and
has no side effect except on thread-local data in the receiving thread.
bugzilla 3640
shared this() constructor does not work and reports strange errors
without line numbers
bugzilla 3641 keywords: rejects-valid
alias shared T U does not work
bugzilla 3642 keywords: diagnostic
Poor error message when using shared:
function ___ not callable with argument types ___
Great. I just got word from Walter that he fixed a lot of shared bugs
(most reported and some probably not yet reported), so I expect the
situation to get considerably better with the next minor release.
Andrei