dsimcha wrote:
Exactly my feelings, but I'll add that the time to make huge, sweeping changes
like the ones we're seeing now is before the language becomes mainstream.  Once
the language has a large base of crufty production code that nobody still
understands and can fix quickly and easily when the language changes, it becomes
much harder to make these kinds of changes.

Yes.

The next D2 update will have one such change, which has been planned for maybe the past year. All static and global variables will default to being thread local (instead of being implicitly shared). Doing this is disruptive, but is critical to credibly supporting multithreaded programming.

In testing this out, I've uncovered at least a dozen implicit sharing bugs in Phobos. I think this change will have a big payoff for multithreaded code.

Reply via email to