January 17, 2017
On Tuesday, 17 January 2017 at 06:36:58 UTC, Stefan Koch wrote:
> real	0m1.993s
> user	0m1.872s
> sys	0m0.120s

Just a tip, if you use (maybe install) /bin/time, you also get memory usage.

0.00user 0.00system 0:00.00elapsed 85%CPU (0avgtext+0avgdata 6372maxresident)k
0inputs+0outputs (0major+361minor)pagefaults 0swaps
January 17, 2017
On Tuesday, 17 January 2017 at 06:36:58 UTC, Stefan Koch wrote:
> Just found a bug with recursive functions, which is now fixed.
> So time for some perf:

Impressive speedup! What remains? Are you adding more tests to the Phobos unittests?
January 17, 2017
On Tuesday, 17 January 2017 at 20:06:46 UTC, Nordlöw wrote:
> On Tuesday, 17 January 2017 at 06:36:58 UTC, Stefan Koch wrote:
>> Just found a bug with recursive functions, which is now fixed.
>> So time for some perf:
>
> Impressive speedup! What remains? Are you adding more tests to the Phobos unittests?

There are still features to add :

- floating point.
- UTF-de/re-encodung.
- slicing
- concat
- pointer/ref
- member-function calls

But after this is done all the 1.0 goals are reached.
January 17, 2017
On Tuesday, 17 January 2017 at 21:47:51 UTC, Stefan Koch wrote:
> On Tuesday, 17 January 2017 at 20:06:46 UTC, Nordlöw wrote:
>> On Tuesday, 17 January 2017 at 06:36:58 UTC, Stefan Koch wrote:
>>> Just found a bug with recursive functions, which is now fixed.
>>> So time for some perf:
>>
>> Impressive speedup! What remains? Are you adding more tests to the Phobos unittests?
>
> There are still features to add :
>
> - floating point.
> - UTF-de/re-encodung.
> - slicing
> - concat
> - pointer/ref
> - member-function calls
>
> But after this is done all the 1.0 goals are reached.

Forget something,
&& and || also needs to be implemented.
As well as various interactions of pointers/arrays/slices and structures.

January 17, 2017
On Tuesday, 17 January 2017 at 21:50:42 UTC, Stefan Koch wrote:
>> There are still features to add :
>>
>> - floating point.
>> - UTF-de/re-encodung.
>> - slicing
>> - concat
>> - pointer/ref
>> - member-function calls
>>
>> But after this is done all the 1.0 goals are reached.
>
> Forget something,
> && and || also needs to be implemented.
> As well as various interactions of pointers/arrays/slices and structures.

So I reckon the Phobos unittests are quite incomplete, then?
January 17, 2017
On Tuesday, 17 January 2017 at 22:06:47 UTC, Nordlöw wrote:
>
> So I reckon the Phobos unittests are quite incomplete, then?

Not really, I still use a fallback to the old interpreter for the unimplemented features.

January 17, 2017
On Tuesday, 17 January 2017 at 22:11:21 UTC, Stefan Koch wrote:
> Not really, I still use a fallback to the old interpreter for the unimplemented features.

Does this mean that the newCTFE branch is usable now? And that I get performance improvements for the expression nodes you have implemented in newCTFE but not for the others?
January 17, 2017
On Tuesday, 17 January 2017 at 22:19:39 UTC, Nordlöw wrote:
> On Tuesday, 17 January 2017 at 22:11:21 UTC, Stefan Koch wrote:
>> Not really, I still use a fallback to the old interpreter for the unimplemented features.
>
> Does this mean that the newCTFE branch is usable now? And that I get performance improvements for the expression nodes you have implemented in newCTFE but not for the others?

Exactly. Modulo bugs of course.
If you have code gives you a different output with my engine then with the old one, please open an issue in my github repo.
January 20, 2017
Druntime and phobos broke, the reason being that,
I did test against an outdated version of druntime/phobos.

I am working on getting them to compile again.
Adding features is stalled until then.
January 21, 2017
On Friday, 20 January 2017 at 19:08:28 UTC, Stefan Koch wrote:
> Druntime and phobos broke, the reason being that,
> I did test against an outdated version of druntime/phobos.
>
> I am working on getting them to compile again.
> Adding features is stalled until then.

Phobos and druntime unittests pass again.

this was _NOT_ a proper fix.
only a really crude bailout when we detect that we jump to code that does not exist.