August 29, 2009 Re: Reference value of structs not optimized or inlined? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Jarrett Billingsley | Jarrett Billingsley wrote:
> On Sat, Aug 29, 2009 at 4:56 AM, Walter
> Bright<newshound1@digitalmars.com> wrote:
>> Ary Borenszweig wrote:
>>> Walter Bright escribió:
>>>> Ary Borenszweig wrote:
>>>>> Walter Bright escribió:
>>>>>> There are a lot of D specific optimization opportunities that are left
>>>>>> undone for now.
>>>>> Why?
>>>> Which of the thousand things people want done in D should be done first?
>>> Those that you feel like doing first.
>>>
>>> Ok, you win. :-)
>>>
>>> (I use the same reasoning most of the time when coding Descent)
>> <g> But I'm not kidding about the thousand things. There are more than that
>> in Bugzilla.
>
> So uh, how's the Bugzilla voting system working out then?
Inlining of functions with ref arguments has gotten 0 votes.
| |||
August 29, 2009 Re: Reference value of structs not optimized or inlined? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Sat, Aug 29, 2009 at 3:42 PM, Walter Bright<newshound1@digitalmars.com> wrote: > Jarrett Billingsley wrote: >> >> On Sat, Aug 29, 2009 at 4:56 AM, Walter Bright<newshound1@digitalmars.com> wrote: >>> >>> Ary Borenszweig wrote: >>>> >>>> Walter Bright escribió: >>>>> >>>>> Ary Borenszweig wrote: >>>>>> >>>>>> Walter Bright escribió: >>>>>>> >>>>>>> There are a lot of D specific optimization opportunities that are >>>>>>> left >>>>>>> undone for now. >>>>>> >>>>>> Why? >>>>> >>>>> Which of the thousand things people want done in D should be done first? >>>> >>>> Those that you feel like doing first. >>>> >>>> Ok, you win. :-) >>>> >>>> (I use the same reasoning most of the time when coding Descent) >>> >>> <g> But I'm not kidding about the thousand things. There are more than >>> that >>> in Bugzilla. >> >> So uh, how's the Bugzilla voting system working out then? > > Inlining of functions with ref arguments has gotten 0 votes. > You said "which of the thousand things people want done should be done first?" And we already tried to solve this problem with the Bugzilla voting feature. Has it been working out well? Have the issues that people want to get fixed been getting more attention than the others? | |||
August 29, 2009 Re: Reference value of structs not optimized or inlined? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Fri, 28 Aug 2009 16:51:03 -0400, Walter Bright <newshound1@digitalmars.com> wrote:
> Jarrett Billingsley wrote:
>> On Fri, Aug 28, 2009 at 4:20 PM, Walter
>> Bright<newshound1@digitalmars.com> wrote:
>>> Jarrett Billingsley wrote:
>>>> You're addressing the 'const' issue, but you haven't addressed the
>>>> OP's issue: that 'ref', for whatever reason, prevents inlining. Const
>>>> aside, why is this so?
>>> Because I never updated the inlining code to handle it.
>> Well I'm glad it's that simple, and I'm sure Jeremie is too ;)
>
> There are a lot of D specific optimization opportunities that are left undone for now.
This is fine with me. I think the OP just wants to be sure that not inlining functions with ref args isn't a design decision.
I think these kinds of limitations make people more sour than others because D lacks a manual inlining mechanism, with the explanation that the compiler knows how to inline better. Clearly, the compiler isn't there yet, and I understand why, I just wanted to bring to light why this might be a thorn in some sides.
-Steve
| |||
August 29, 2009 Re: Reference value of structs not optimized or inlined? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Jarrett Billingsley | Jarrett Billingsley wrote:
> You said "which of the thousand things people want done should be done
> first?" And we already tried to solve this problem with the Bugzilla
> voting feature. Has it been working out well? Have the issues that
> people want to get fixed been getting more attention than the others?
I'll let you decide that based on stats from Bugzilla and the changelog. I suspect about everyone's conclusion on that would be different.
I just wish to point out that while ref inlining has been pointed out as very important here, that isn't reflected in the Bugzilla votes. In other words, while the votes are important, they are not the only indicator of what is important.
| |||
August 29, 2009 Re: Reference value of structs not optimized or inlined? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | Steven Schveighoffer wrote: > I think these kinds of limitations make people more sour than others because D lacks a manual inlining mechanism, with the explanation that the compiler knows how to inline better. C++ lacks it, too. The "inline" keyword is a hint which the compiler is free to ignore - the C++ compiler can also inline functions with no such annotation. > Clearly, the compiler isn't there yet, and I understand why, I just wanted to bring to light why this might be a thorn in some sides. Off the top of my head, I could list at least a hundred things people list as why they don't use D. I'd like to knock all those reasons down, and each release makes progress in doing so. But it is worthwhile to bring these things up. It helps in trying to gauge their relative importance. | |||
August 30, 2009 Re: Reference value of structs not optimized or inlined? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | 在 Sun, 30 Aug 2009 06:23:38 +0800,Walter Bright <newshound1@digitalmars.com> 写道: > Jarrett Billingsley wrote: >> You said "which of the thousand things people want done should be done >> first?" And we already tried to solve this problem with the Bugzilla >> voting feature. Has it been working out well? Have the issues that >> people want to get fixed been getting more attention than the others? > > I'll let you decide that based on stats from Bugzilla and the changelog. I suspect about everyone's conclusion on that would be different. > > I just wish to point out that while ref inlining has been pointed out as very important here, that isn't reflected in the Bugzilla votes. In other words, while the votes are important, they are not the only indicator of what is important. If you've been consistently following the voting system as an indicator, people would just go to bugzilla and vote for this ref inlining bug instead of shouting here and playing the attracting Walter game. And you don't need to play the identifying the most important bug game either. -- 使用 Opera 革命性的电子邮件客户程序: http://www.opera.com/mail/ | |||
August 30, 2009 Re: Reference value of structs not optimized or inlined? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | Bill Baxter wrote: > On Fri, Aug 28, 2009 at 3:21 PM, Brad Roberts<braddr@puremagic.com> wrote: >> On Fri, 28 Aug 2009, Bill Baxter wrote: >> >>> On Fri, Aug 28, 2009 at 1:20 PM, Walter >>> Bright<newshound1@digitalmars.com> wrote: >>>> Jarrett Billingsley wrote: >>>>> You're addressing the 'const' issue, but you haven't addressed the >>>>> OP's issue: that 'ref', for whatever reason, prevents inlining. Const >>>>> aside, why is this so? >>>> Because I never updated the inlining code to handle it. >>> Wow. That's it? So let's get it done already! This is really a >>> shame to have this hanging around in a language whose biggest selling >>> point over the competition is speed. It's been shown many times that >>> DMD's failure to inline ref args has significant impact (~10%) on the >>> performance of numerical code. If you can easily give these kinds of >>> code a 10% boost without too much effort then that's a big win in my >>> opinion. >>> >>> --bb >> Ok.. so we should expect a patch from you sometime soon? You did include >> yourself in the 'us' inside "let's", right? > > I'm actually surprised Don hasn't jumped on this one, given that it's > primarily numerical code that it seems to be affecting. I imagined it would require deep understanding of the compiler back-end, which I don't currently have. Based on Walter's comment, perhaps it's not so difficult. I do have an FP performance patch in the next DMD. But I've been focussing more on ICE bugs and CTFE, which have been annoying me more. > If I were > still at my old job using D heavily, I would probably take a whack at > fixing this one, just because it has been such an annoyance to me. I > put up with it figuring it would be fixed someday, and I assumed there > must be something tricky about it or else it would have been done > already. But given Walter's answer just now, it sounds like a quick > fix for him or someone else familiar with the compilers internals. > > --bb | |||
August 30, 2009 Re: Reference value of structs not optimized or inlined? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Sat, Aug 29, 2009 at 3:23 PM, Walter Bright<newshound1@digitalmars.com> wrote: > Jarrett Billingsley wrote: >> >> You said "which of the thousand things people want done should be done first?" And we already tried to solve this problem with the Bugzilla voting feature. Has it been working out well? Have the issues that people want to get fixed been getting more attention than the others? > > I'll let you decide that based on stats from Bugzilla and the changelog. I suspect about everyone's conclusion on that would be different. > > I just wish to point out that while ref inlining has been pointed out as very important here, that isn't reflected in the Bugzilla votes. In other words, while the votes are important, they are not the only indicator of what is important. It's now up to 4 votes, which puts it in the top ~25. But just 3 more votes would put it in the top 10. http://d.puremagic.com/issues/show_bug.cgi?id=2008 http://d.puremagic.com/issues/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&field-1-0-0=votes&field-1-1-0=bug_status&query_format=advanced&type-1-0-0=greaterthan&type-1-1-0=anyexact&value-1-0-0=0&value-1-1-0=NEW%2CASSIGNED%2CREOPENED&votes=1&order=bugs.votes%2Cmap_assigned_to.login_name%2Cbugs.bug_id&query_based_on=MostVotes --bb | |||
August 30, 2009 Re: Reference value of structs not optimized or inlined? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Don | Don Wrote:
> I've been focussing more on ICE bugs and CTFE, which have been annoying me more.
The focus on CTFE is pretty obvious from Walter's recent update to the changelog.
| |||
August 30, 2009 Re: Reference value of structs not optimized or inlined? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Jason House | Jason House wrote:
> Don Wrote:
>> I've been focussing more on ICE bugs and CTFE, which have been annoying me more.
>
> The focus on CTFE is pretty obvious from Walter's recent update to the changelog.
Don has been contributing a lot to the compiler work lately.
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply