September 25, 2016 Re: Battle-plan for CTFE | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch Attachments:
| On Sun, Sep 25, 2016 at 4:47 PM, Stefan Koch via Digitalmars-d-announce < digitalmars-d-announce@puremagic.com> wrote: > On Tuesday, 20 September 2016 at 05:06:57 UTC, Nordlöw wrote: > >> On Monday, 19 September 2016 at 10:07:06 UTC, Stefan Koch wrote: >> >>> Compiling all of phobos does not crash my engine anymore! >>> >> >> Great work! Keep up still! >> > > I am proud to announce, > (and slightly embarssed because it took to long) > > that the following code can now be executed using the new CTFE engine : > > string fn(bool b) > { > return b ? "true" : "false"; > } > static assert(fn(true) == "true"); > static assert(fn(false) == "false"); > > although this seems trivial it took me about 3 months to get to this point. I believe from here on the road will be less steep. > > :D congrats! |
September 25, 2016 Re: Battle-plan for CTFE | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rory McGuire | On Sunday, 25 September 2016 at 18:21:27 UTC, Rory McGuire wrote:
>
> :D congrats!
I appreciate it.
If all goes well there will be a separate nightly release build from the newCTFE branch, sometime in October.
I hope to get alpha bug reports that way.
Also I am now starting experimentation with actual JIT to make sure my API and ABI definitions are not bogus.
(For the record an earlier design made slices impossible) Luckily I spotted this before I went to far with it.
Unfortunately many basic features are still very brittle or completely dysfunctional.
(Such as function calls or structs.)
Again I apologize for the delay.
My adventures in template-land, were quite time consuming.
Although arguably with interesting results.
If you have any questions regarding my work with the DMD, please ask away.
Greetings,
Stefan
|
October 05, 2016 Re: Battle-plan for CTFE | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch Attachments:
| On Sun, Sep 25, 2016 at 10:47 PM, Stefan Koch via Digitalmars-d-announce < digitalmars-d-announce@puremagic.com> wrote: > On Sunday, 25 September 2016 at 18:21:27 UTC, Rory McGuire wrote: > >> >> :D congrats! >> > > I appreciate it. > If all goes well there will be a separate nightly release build from the > newCTFE branch, sometime in October. > > I hope to get alpha bug reports that way. > > Also I am now starting experimentation with actual JIT to make sure my API > and ABI definitions are not bogus. > (For the record an earlier design made slices impossible) Luckily I > spotted this before I went to far with it. > > Unfortunately many basic features are still very brittle or completely > dysfunctional. > (Such as function calls or structs.) > Again I apologize for the delay. > My adventures in template-land, were quite time consuming. > Although arguably with interesting results. > > If you have any questions regarding my work with the DMD, please ask away. > > Greetings, > Stefan > No worries, I've been watching this space for over a decade. I really believe you are working on one of the most important parts of IT for the next decade. I am planning/making a library that uses CTFE extensively and feel much more confident about it purely because of your work on getting CTFE performance to be a non-issue. R |
October 16, 2016 Re: Battle-plan for CTFE | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rory McGuire | On Wednesday, 5 October 2016 at 08:34:06 UTC, Rory McGuire wrote:
>
> No worries, I've been watching this space for over a decade. I really believe you are working on one of the most important parts of IT for the next decade. I am planning/making a library that uses CTFE extensively and feel much more confident about it purely because of your work on getting CTFE performance to be a non-issue.
>
> R
Little update here:
The LLVM backend is almost on feature parity.
Meaning that that soon the new CTFE engine is a real jit.
In the process I discoverd quite a few horrible bugs and inconsistency in the API.
I am quite astonished that it ever ran before :)
|
October 16, 2016 Re: Battle-plan for CTFE | ||||
---|---|---|---|---|
| ||||
Posted in reply to Uplink_Coder | On 10/16/16 2:27 AM, Uplink_Coder wrote:
> On Wednesday, 5 October 2016 at 08:34:06 UTC, Rory McGuire wrote:
>>
>> No worries, I've been watching this space for over a decade. I really
>> believe you are working on one of the most important parts of IT for
>> the next decade. I am planning/making a library that uses CTFE
>> extensively and feel much more confident about it purely because of
>> your work on getting CTFE performance to be a non-issue.
>>
>> R
>
> Little update here:
> The LLVM backend is almost on feature parity.
> Meaning that that soon the new CTFE engine is a real jit.
> In the process I discoverd quite a few horrible bugs and inconsistency
> in the API.
> I am quite astonished that it ever ran before :)
>
That LLVM thing is surely nice to have but I highly doubt it will be allowed as dependency for DMD.
---
Dmitry Olshansky
|
October 16, 2016 Re: Battle-plan for CTFE | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dmitry Olshansky | On Sunday, 16 October 2016 at 10:58:57 UTC, Dmitry Olshansky wrote:
>
> That LLVM thing is surely nice to have but I highly doubt it will be allowed as dependency for DMD.
>
> ---
> Dmitry Olshansky
LLVM is purely optional.
A pure D interpreter exists.
LLVM optimises most ctfe btw and returns constants.
|
October 17, 2016 Re: Battle-plan for CTFE | ||||
---|---|---|---|---|
| ||||
Posted in reply to Uplink_Coder | On Sunday, 16 October 2016 at 13:51:55 UTC, Uplink_Coder wrote: > On Sunday, 16 October 2016 at 10:58:57 UTC, Dmitry Olshansky wrote: >> >> That LLVM thing is surely nice to have but I highly doubt it will be allowed as dependency for DMD. >> >> --- >> Dmitry Olshansky > > LLVM is purely optional. > A pure D interpreter exists. > > LLVM optimises most ctfe btw and returns constants. If anyone want to take a look the lastest llvm_backend development is happening here : https://github.com/UplinkCoder/dmd/blob/_ctfe/src/bc_llvm_backend.d |
October 17, 2016 Re: Battle-plan for CTFE | ||||
---|---|---|---|---|
| ||||
Posted in reply to Uplink_Coder | On Monday, 17 October 2016 at 00:56:01 UTC, Uplink_Coder wrote:
>
> If anyone want to take a look the lastest llvm_backend development is happening here :
> https://github.com/UplinkCoder/dmd/blob/_ctfe/src/bc_llvm_backend.d
The time llvm takes to build it's IR and execute the JITed code is absolutely too much! multiple milliseconds!
I will write a very simple x86 codegenerator tomorrow.
|
October 17, 2016 Re: Battle-plan for CTFE | ||||
---|---|---|---|---|
| ||||
Posted in reply to Uplink_Coder | On Monday, 17 October 2016 at 15:50:37 UTC, Uplink_Coder wrote:
> The time llvm takes to build it's IR and execute the JITed code is absolutely too much! multiple milliseconds!
>
> I will write a very simple x86 codegenerator tomorrow.
Great work.
|
October 19, 2016 Re: Battle-plan for CTFE | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | On Sunday, 25 September 2016 at 20:47:41 UTC, Stefan Koch wrote:
> If all goes well there will be a separate nightly release build from the newCTFE branch, sometime in October.
>
> I hope to get alpha bug reports that way.
Have you benchmarked CTFE-heavy projects like Pegged?
|
Copyright © 1999-2021 by the D Language Foundation