August 28, 2015
On 8/28/2015 8:10 AM, Adam D. Ruppe wrote:
> On Friday, 28 August 2015 at 11:18:57 UTC, Temtaime wrote:
>> Are you sure that ONE Walter can achieve what they done ?
>
> Yes. A LOT of significant projects are primarily one-person jobs. Even the hard
> parts can be replicated by one person after a team blazes the path since they
> can just observe the successes and failures out of the others and skip the
> research steps.
>
> Even on a team, there's often one person who does the bulk of the work for any
> section of it; a really large project might just be a bunch of basically
> independent pieces that happen to fit together.

Sometimes, adding more manpower just makes progress slower.
August 28, 2015
On Fri, Aug 28, 2015 at 03:07:19PM -0700, Walter Bright via Digitalmars-d wrote:
> On 8/28/2015 8:10 AM, Adam D. Ruppe wrote:
> >On Friday, 28 August 2015 at 11:18:57 UTC, Temtaime wrote:
> >>Are you sure that ONE Walter can achieve what they done ?
> >
> >Yes. A LOT of significant projects are primarily one-person jobs. Even the hard parts can be replicated by one person after a team blazes the path since they can just observe the successes and failures out of the others and skip the research steps.
> >
> >Even on a team, there's often one person who does the bulk of the work for any section of it; a really large project might just be a bunch of basically independent pieces that happen to fit together.
> 
> Sometimes, adding more manpower just makes progress slower.

https://en.wikipedia.org/wiki/The_Mythical_Man-Month


T

-- 
Famous last words: I wonder what will happen if I do *this*...
August 28, 2015
On Friday, 28 August 2015 at 21:59:57 UTC, Walter Bright wrote:
> On 8/28/2015 4:18 AM, Temtaime wrote:
>> Are you sure that ONE Walter can achieve what they done ?
>
> People told me I couldn't write a C compiler, then told me I couldn't write a C++ compiler. I'm still the only person who has ever implemented a complete C++ compiler (C++98). Then they all (100%) laughed at me for starting D, saying nobody would ever use it.
>
> My whole career is built on stepping over people who told me I couldn't do anything and wouldn't amount to anything.
>
> LLVM is a fine compiler, but there's nothing magical about it.
>
> Besides, we have a secret productivity enhancing weapon that LLVM doesn't have - D!
>
> Now, if I can only tear myself away from the internet for a while...

Ok let's be very clear. It CAN be done (I even told you what would be the most impact thing to do to move in that direction).

The question is, is it worth it ? I mean D has various issue, and speed in not one of them.
August 28, 2015
On Wednesday, 19 August 2015 at 22:15:46 UTC, tsbockman wrote:
> I lack the assembly language skills to determine the cause(s) myself, but my [CheckedInt](https://github.com/tsbockman/CheckedInt) benchmark runs about 10x slower when compiled with DMD rather than GDC. I'm sure there's some low-hanging fruit in there somewhere...

While doing some refactoring and updating CheckedInt for DMD 2.068, I have discovered one major source of slowness: DMD cannot inline even trivial struct constructors:

// Error: constructor foo.this cannot inline function
struct foo {
    int bar;

    pragma(inline, true) this(int bar) {
        this.bar = bar;
    }
}

Refactoring my code to reduce the use of struct constructors yielded a 2x speed boost. The workaround is stupidly simple, though ugly:

struct foo {
    int bar;

    pragma(inline, true) static auto inline_cons(int bar) {
        foo ret = void;
        ret.bar = bar;
        return ret;
    }
}

August 29, 2015
On Fri, Aug 28, 2015 at 11:57:06PM +0000, tsbockman via Digitalmars-d wrote:
> On Wednesday, 19 August 2015 at 22:15:46 UTC, tsbockman wrote:
> >I lack the assembly language skills to determine the cause(s) myself, but my [CheckedInt](https://github.com/tsbockman/CheckedInt) benchmark runs about 10x slower when compiled with DMD rather than GDC. I'm sure there's some low-hanging fruit in there somewhere...
> 
> While doing some refactoring and updating CheckedInt for DMD 2.068, I have discovered one major source of slowness: DMD cannot inline even trivial struct constructors:
[...]

Sounds like very low-hanging fruit. Is there a bug reported for this yet?


T

-- 
Which is worse: ignorance or apathy? Who knows? Who cares? -- Erich Schubert
August 29, 2015
On Friday, 28 August 2015 at 23:38:47 UTC, deadalnix wrote:
> On Friday, 28 August 2015 at 21:59:57 UTC, Walter Bright wrote:
>> [...]
>
> Ok let's be very clear. It CAN be done (I even told you what would be the most impact thing to do to move in that direction).
>
> The question is, is it worth it ? I mean D has various issue, and speed in not one of them.

+1. D is probably the only language that rivals C++ speeds while using it completely idiomatically.
August 29, 2015
On Saturday, 29 August 2015 at 00:06:39 UTC, H. S. Teoh wrote:
> On Fri, Aug 28, 2015 at 11:57:06PM +0000, tsbockman via Digitalmars-d wrote:
>> On Wednesday, 19 August 2015 at 22:15:46 UTC, tsbockman wrote:
>> >I lack the assembly language skills to determine the cause(s) myself, but my [CheckedInt](https://github.com/tsbockman/CheckedInt) benchmark runs about 10x slower when compiled with DMD rather than GDC. I'm sure there's some low-hanging fruit in there somewhere...
>> 
>> While doing some refactoring and updating CheckedInt for DMD 2.068, I have discovered one major source of slowness: DMD cannot inline even trivial struct constructors:
> [...]
>
> Sounds like very low-hanging fruit. Is there a bug reported for this yet?
>
>
> T

I couldn't find one, so I made a new one just now:
    [Issue 14975](https://issues.dlang.org/show_bug.cgi?id=14975)

August 29, 2015
On Friday, 28 August 2015 at 21:59:57 UTC, Walter Bright wrote:
> My whole career is built on stepping over people who told me I couldn't do anything and wouldn't amount to anything.

You should feel proud. There's something to be said for going forward regardless of what others say. I feel like I would have been fired years ago if I just disregarded what everyone said and did what I thought was right.
August 29, 2015
On 29/08/15 9:59 AM, Walter Bright wrote:
> On 8/28/2015 4:18 AM, Temtaime wrote:
>> Are you sure that ONE Walter can achieve what they done ?
>
> People told me I couldn't write a C compiler, then told me I couldn't
> write a C++ compiler. I'm still the only person who has ever implemented
> a complete C++ compiler (C++98). Then they all (100%) laughed at me for
> starting D, saying nobody would ever use it.
>
> My whole career is built on stepping over people who told me I couldn't
> do anything and wouldn't amount to anything.
>
> LLVM is a fine compiler, but there's nothing magical about it.
>
> Besides, we have a secret productivity enhancing weapon that LLVM
> doesn't have - D!
>
> Now, if I can only tear myself away from the internet for a while...

Humm Walter, wanna start up trash talking banter?
I also work better when people say I can't do X.

August 29, 2015
On Saturday, 29 August 2015 at 04:17:30 UTC, Rikki Cattermole wrote:
> On 29/08/15 9:59 AM, Walter Bright wrote:
>> On 8/28/2015 4:18 AM, Temtaime wrote:
>>> Are you sure that ONE Walter can achieve what they done ?
>>
>> People told me I couldn't write a C compiler, then told me I couldn't
>> write a C++ compiler. I'm still the only person who has ever implemented
>> a complete C++ compiler (C++98). Then they all (100%) laughed at me for
>> starting D, saying nobody would ever use it.
>>
>> My whole career is built on stepping over people who told me I couldn't
>> do anything and wouldn't amount to anything.
>>
>> LLVM is a fine compiler, but there's nothing magical about it.
>>
>> Besides, we have a secret productivity enhancing weapon that LLVM
>> doesn't have - D!
>>
>> Now, if I can only tear myself away from the internet for a while...
>
> Humm Walter, wanna start up trash talking banter?
> I also work better when people say I can't do X.

I bet none of you can implement SROA in DMD.