On Tuesday, 18 August 2015 at 21:36:39 UTC, Walter Bright wrote:
On 8/18/2015 2:26 PM, rsw0x wrote:
if you want to make D fast - Fix the interface between the
compiler and the
runtime(including the inability for compilers to inline simple
things like
allocations which makes allocations have massive overheads.)
Then, fix the GC.
Make the GC both shared and immutable aware, then moving the
GC to a thread
local "island"-style GC would be fairly easy.
The fundamental issue of island GCs is what to do with casting
of data from one island to another.
If you want D to have a GC, you have to design the language
around having a GC. Right now, D could be likened to using C++
with Boehm. Something needs done with shared to fix this problem,
but everything I could suggest would probably be deemed entirely
too big of a change(e.g, making casting to/from shared undefined,
and putting methods in the GC API to explicitly move memory
between heaps)
Maybe you should take a look at what Go has recently done with
their GC to get
an idea of what D's competition has been up to.
https://talks.golang.org/2015/go-gc.pdf
"you"? There's a whole community here, we're all in this
together. Pull requests are welcome.
How many people here do you think know the intricacies of dmd as
well as you do? At most, a handful and I'm certainly not one of
those people.