15-Sep-2013 23:05, Andrej Mitrovic пишет:
On 9/15/13, monarch_dodra <monarchdo...@gmail.com> wrote:
By simply making them templates, I can improve the performance of
functions such as "split on ascii white" by 2 to 3 (!).
Yes, yes and yes. I think many of the performance issues of Phobos are
rooted there.
I'm of the opinion that the user must not suffer because of a undecided
situation with inlining in the toolchain (all of them).
Speaking of which, I think the following special case should be allowed:
-----
void foo()() { }
void main()
{
auto x = &foo; // NG
}
-----
Then maybe we won't even break anyone's code.
Providing either this special case for empty argument templates seems to
be a small price to help this ugly situation.
That is unless compiler devs agree with the following observation and
see a way to get there in short-term:
> I *thought* that the intended behavior is:
> a) Have source - compile from source
> b) Don't have source (*.di files) - link in objects
Which is something nobody clarified yet.
Well Johannes spoke for GDC by noting that there is no notion to support
that in the current frontend-backend dialog.
--
Dmitry Olshansky