December 13, 2008 Re: Basic benchmark | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Don | On Sun, Dec 14, 2008 at 4:41 AM, Don <nospam@nospam.com> wrote: > Bill Baxter wrote: >> That said, LDC isn't quite there yet, especially on Windows, but it would be very encouraging to see Walter take at least a little interest in it. The transition would be a little painful for a while, but much less painful than trying to write a new back end from scratch, and in the end I believe it would make D a much more viable platform going forward. >> >> --bb > > After having seen GDC fail to live up to expectations and become abandonware, it's unsurprising that Walter's unwilling to invest any emotional energy into LDC just yet. In six months the story may be completely different. I think licensing issues were a serious issue with Walter moving DMD over to GDC. But let's say they weren't and Walter had moved DMD over to GDC when Dave was still working actively on it. If that had happened, then today we'd have a GDC-based DMD compiler that Walter maintained by himself, BUT which can benefit from all the non-D developers who work on GCC's back end. Compared with the situation today, which is that Walter maintains DMD by himself, and *nobody* works on the back end, and nobody even has the access to work on the back end, since it is closed source. So, even given that Dave has abandoned GDC, that still sounds better to me. --bb | |||
December 13, 2008 LDC Windows exception handling | ||||
|---|---|---|---|---|
| ||||
Posted in reply to dsimcha | > Speaking of LDC, any chance that the exception handling on Win32 gets fixed in the near future?
No, unfortunately.
It's a problem with LLVM only supporting Dwarf2 exception handling. I'm pretty sure it'd work if we used ELF for the object files and GCC for linking, but Windows people tell me this is hardly acceptable.
We won't get 'real' exceptions working on Windows until someone adds SEH support to LLVM.
Volunteers?
| |||
December 13, 2008 Re: Basic benchmark | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright: > I suggest running obj2asm on the resulting obj files and see what the real difference is. I am sorry, I have just started learning X86 asm, I am not much good yet :-) Here you can see the asm from DMD followed by the one from GCC: http://codepad.org/Kjttfq4z Bye, bearophile | |||
December 13, 2008 Re: LDC Windows exception handling | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Christian Kamm | On Sun, Dec 14, 2008 at 5:13 AM, Christian Kamm <kamm-incasoftware@removethis.de> wrote: >> Speaking of LDC, any chance that the exception handling on Win32 gets fixed in the near future? > > No, unfortunately. > > It's a problem with LLVM only supporting Dwarf2 exception handling. I'm pretty sure it'd work if we used ELF for the object files and GCC for linking, but Windows people tell me this is hardly acceptable. > > We won't get 'real' exceptions working on Windows until someone adds SEH support to LLVM. > > Volunteers? > > Hmm, so what does clang do then? Does it also just fail on Windows? Anyway, I signed up for the clang dev mailing list to ask this question there too... --bb | |||
December 13, 2008 Re: LDC Windows exception handling | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | Bill Baxter pisze: > On Sun, Dec 14, 2008 at 5:13 AM, Christian Kamm > <kamm-incasoftware@removethis.de> wrote: >>> Speaking of LDC, any chance that the exception handling on Win32 gets >>> fixed in the near future? >> No, unfortunately. >> >> It's a problem with LLVM only supporting Dwarf2 exception handling. I'm >> pretty sure it'd work if we used ELF for the object files and GCC for >> linking, but Windows people tell me this is hardly acceptable. >> >> We won't get 'real' exceptions working on Windows until someone adds SEH >> support to LLVM. >> >> Volunteers? >> >> > > Hmm, so what does clang do then? Does it also just fail on Windows? > Anyway, I signed up for the clang dev mailing list to ask this > question there too... > > --bb I don't know how current is web page of clang project, but I found following clang status page: http://clang.llvm.org/cxx_status.html Exception handling is marked over there as "Not started/not evaluated" (see point 15 in status table). BR Marcin Kuszczak (aarti_pl) | |||
December 13, 2008 Re: LDC Windows exception handling | ||||
|---|---|---|---|---|
| ||||
Posted in reply to aarti_pl | On Sun, Dec 14, 2008 at 7:55 AM, aarti_pl <aarti@interia.pl> wrote:
> Bill Baxter pisze:
>>
>> On Sun, Dec 14, 2008 at 5:13 AM, Christian Kamm <kamm-incasoftware@removethis.de> wrote:
>>>>
>>>> Speaking of LDC, any chance that the exception handling on Win32 gets fixed in the near future?
>>>
>>> No, unfortunately.
>>>
>>> It's a problem with LLVM only supporting Dwarf2 exception handling. I'm pretty sure it'd work if we used ELF for the object files and GCC for linking, but Windows people tell me this is hardly acceptable.
>>>
>>> We won't get 'real' exceptions working on Windows until someone adds SEH support to LLVM.
>>>
>>> Volunteers?
>>>
>>>
>>
>> Hmm, so what does clang do then? Does it also just fail on Windows? Anyway, I signed up for the clang dev mailing list to ask this question there too...
>>
>> --bb
>
> I don't know how current is web page of clang project, but I found following clang status page:
>
> http://clang.llvm.org/cxx_status.html
>
> Exception handling is marked over there as "Not started/not evaluated" (see point 15 in status table).
Ok. A fellow named Sebastian who says he works on the clang C++ also said that it didn't support exceptions in C++. And also that the current C++ support in clang is basically unusable.
But anyway, they're going to want exception support sooner or later, too. Maybe there's some way for LDC and clang guys to collaborate or divide up the work getting Windows exceptions into LDC? Or at least work together to get LLVM guys to implement it?
--bb
| |||
December 13, 2008 Re: LDC Windows exception handling | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Christian Kamm | == Quote from Christian Kamm (kamm-incasoftware@removethis.de)'s article > > Speaking of LDC, any chance that the exception handling on Win32 gets fixed in the near future? > No, unfortunately. > It's a problem with LLVM only supporting Dwarf2 exception handling. I'm > pretty sure it'd work if we used ELF for the object files and GCC for > linking, but Windows people tell me this is hardly acceptable. I think this solution is much better than nothing. I assume it would at least work ok on standalone-type projects. | |||
December 14, 2008 Re: Basic benchmark | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | Bill Baxter wrote:
> I think the point is not to convince Walter to spend time working on
> DMD's optimizer, but to convince him that the DMD optimizer is
> hopelessly obsolete and thus should be abandoned in favor of another,
> like LDC. There's also the 64-bit issue. I don't see Walter ever
> making the current toolchain 64-bit capable (at least not on Windows).
> This is going to become an increasingly ridiculous limitation for a
> supposed "systems programming language" as time marches on.
>
> At some point something has to change.
>
>> The reference compiler is just supposed to be _correct_, not necessarily _fast_.
>
> Fortunately it's not an either/or situation. If Walter chooses to move the reference compiler to a mainstream compiler infrastructure, then *he* can work on making the reference compiler correct, while many *other people* (including many who don't know anything about D) work on making the compiler fast.
>
>> If Walter spent all his time working on making the the DMDFE optimizer better and making DMD backend produce faster code, he wouldn't have time to work on the language anymore,
>
> Agreed. That would be like putting lipstick on the proverbial pig.
>
>> and it would be
>> duplicated effort since GDC and LDC already do it better.
>
> I guess it's possible to imagine a world where Walter cranks out DMDFE code coupled to a sub-par DMD backend that no one uses, since everyone has moved on to LDC or something. But why go there? LDC is completely open source. There's no reason the reference D compiler can't also be the fast D compiler. And become more open in the process, too.
>
> That reference compiler / fast compiler dichotomy might have been ok for C++ back in the old "cfront" days, but in those days people everywhere were dying for something a little more high-level than C. Today they aren't. In those days the big corps took notice of C++ and most vendors were maintaining their own cfront-based compilers for their own platforms with their own custom back-end optimizations. There's nothing like that happening with D today. Today the big corps have C++ and if that's not high-level enough then they have 32-dozen scripting languages and VM hosted byte-compiled languages to choose from.
>
> So for a niche language like D, making the default compiler be a sucky compiler is very bad marketing in my opinion. And talk about duplicating efforts -- every time Walter releases a new reference compiler, the developers on the fast compiler have to scramble to incorporate those changes, when they could be working on bug fixes and other useful performance improvements. And downstream bugfixes is another area of duplicated efforts -- already LDC developers have fixed various bugs in the DMDFE, and these must then be posted to bugzilla for Walter to eventually put back into his version of DMDFE.
>
> That said, LDC isn't quite there yet, especially on Windows, but it would be very encouraging to see Walter take at least a little interest in it. The transition would be a little painful for a while, but much less painful than trying to write a new back end from scratch, and in the end I believe it would make D a much more viable platform going forward.
>
> --bb
I couldn't agree more!
I never understood why people were so anti-gdc. I would not be surprised to hear that the gdc developer(s) stopped after hearing just how little people appreciated their hard work.
| |||
December 14, 2008 Re: Basic benchmark | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Jason House | On Sun, Dec 14, 2008 at 9:15 AM, Jason House <jason.james.house@gmail.com> wrote:
>
> I couldn't agree more!
>
> I never understood why people were so anti-gdc. I would not be surprised to hear that the gdc developer(s) stopped after hearing just how little people appreciated their hard work.
>
Well, I think it has more to do with the secretive way in which gdc
was developed. I don't know that it was intentionally so, but I read
through the old NG messages once from back when Dave first announced
it, and he always kept things very close to the chest from the very
beginning. Others were apparently working on a GCC-based port of D at
the same time and going back and forth in the NG about how to get
things working, when Dave popped in and said "I have ported D to GCC".
I have no reason to believe he was intentionally trying to keep
people away from helping him, but he's never shown much interest in
collaborating as far as I recall. Some people just prefer to work
alone.
On the other hand LDC already has multiple contributors and has been developed in an open and welcoming way from the very beginning.
--bb
| |||
December 14, 2008 Re: Basic benchmark | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Jason House | == Quote from Jason House (jason.james.house@gmail.com)'s article > I couldn't agree more! > I never understood why people were so anti-gdc. I would not be surprised to hear that the gdc developer(s) stopped after hearing just how little people appreciated their hard work. Well, GDC hasn't released an update since the Stone Age. A few days ago, the first checkins in months took place. I still don't know whether the project is moribund or why else it might be so far behind the curve. My hope is that the GDC people are just waiting for the dust to settle a little on D2, rather than maintaining a moving target. | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply