August 04, 2014 Re: SDC-32bit | ||||
---|---|---|---|---|
| ||||
Posted in reply to Shammah Chancellor | On Saturday, 2 August 2014 at 22:48:35 UTC, Shammah Chancellor wrote:
> Also, it looks by using your fiber based scheduler that you can naturally parallize compiling. Have you investigated that at all?
Obviously, yes. But that is quite tricky to get a deterministic result due to compile time features.
|
August 04, 2014 Re: SDC-32bit | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Colvin | On Sunday, 3 August 2014 at 11:37:26 UTC, John Colvin wrote:
> Any idea what the significant bottlenecks are / what dmd is much faster at?
No idea. I'd like to know, but ultimately, supporting more of D is more important than being fast right now.
|
August 05, 2014 Re: SDC-32bit | ||||
---|---|---|---|---|
| ||||
Posted in reply to deadalnix | On 2014-08-04 04:19:01 +0000, deadalnix said:
> On Saturday, 2 August 2014 at 22:48:35 UTC, Shammah Chancellor wrote:
>> Also, it looks by using your fiber based scheduler that you can naturally parallize compiling. Have you investigated that at all?
>
> Obviously, yes. But that is quite tricky to get a deterministic result due to compile time features.
I'm not sure what you mean. Are you referring to things like pragma msg?
|
August 05, 2014 Re: SDC-32bit | ||||
---|---|---|---|---|
| ||||
Posted in reply to Shammah Chancellor | On Tuesday, 5 August 2014 at 11:56:28 UTC, Shammah Chancellor wrote:
> On 2014-08-04 04:19:01 +0000, deadalnix said:
>
>> On Saturday, 2 August 2014 at 22:48:35 UTC, Shammah Chancellor wrote:
>>> Also, it looks by using your fiber based scheduler that you can naturally parallize compiling. Have you investigated that at all?
>>
>> Obviously, yes. But that is quite tricky to get a deterministic result due to compile time features.
>
> I'm not sure what you mean. Are you referring to things like pragma msg?
to things like mixin("mixin(`writeln ("Hello World");`");
|
August 05, 2014 Re: SDC-32bit | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | On Tuesday, 5 August 2014 at 16:54:47 UTC, Stefan Koch wrote:
>> I'm not sure what you mean. Are you referring to things like pragma msg?
>
> to things like mixin("mixin(`writeln ("Hello World");`");
```
bool foo() { ... }
template bar(bool cond)
{
static if (cond)
enum bar = "int a;";
else
enum bar = "int b;";
}
mixin(bar!(foo()));
pragma(msg, is(typeof(a)));
```
Good luck doing parallel semantic analysis :D I am sure deadalnix can give example much worse than that though.
|
August 05, 2014 Re: SDC-32bit | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dicebot | On 2014-08-05 17:02:27 +0000, Dicebot said:
> On Tuesday, 5 August 2014 at 16:54:47 UTC, Stefan Koch wrote:
>>> I'm not sure what you mean. Are you referring to things like pragma msg?
>>
>> to things like mixin("mixin(`writeln ("Hello World");`");
>
> ```
> bool foo() { ... }
>
> template bar(bool cond)
> {
> static if (cond)
> enum bar = "int a;";
> else
> enum bar = "int b;";
> }
>
> mixin(bar!(foo()));
>
> pragma(msg, is(typeof(a)));
> ```
>
> Good luck doing parallel semantic analysis :D I am sure deadalnix can give example much worse than that though.
They'd still work right. The only thing I can think of that'd be annoying would be that independent functions would compile in a non-deterministic order. So your errors and whatnot may display non-deterministically.
|
August 06, 2014 Re: SDC-32bit | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | On Friday, 1 August 2014 at 23:16:45 UTC, Stefan Koch wrote:
> jsonRunner really runs fast ... io overhead really makes a diffrence
Correction I just checked the old runner and I found out the following:
sdc runs 7.5 times faster if all sourceFiles are compiled together.
(as dub does)
the slowdown is only visible if one compiles each file into an objectfile and then links it together.
(as the makefile does)
|
August 09, 2014 Re: SDC-32bit | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dicebot | On Tuesday, 5 August 2014 at 17:02:28 UTC, Dicebot wrote:
> On Tuesday, 5 August 2014 at 16:54:47 UTC, Stefan Koch wrote:
>>> I'm not sure what you mean. Are you referring to things like pragma msg?
>>
>> to things like mixin("mixin(`writeln ("Hello World");`");
>
> ```
> bool foo() { ... }
>
> template bar(bool cond)
> {
> static if (cond)
> enum bar = "int a;";
> else
> enum bar = "int b;";
> }
>
> mixin(bar!(foo()));
>
> pragma(msg, is(typeof(a)));
> ```
>
> Good luck doing parallel semantic analysis :D I am sure deadalnix can give example much worse than that though.
Yes, this kind of thing, and it can get much more nasty if you scatter the declaration in various scopes, or better in various modules.
|
October 05, 2014 Re: SDC-32bit | ||||
---|---|---|---|---|
| ||||
Posted in reply to deadalnix | I just updated my fork. https://github.com/UplinkCoder/sdc32-experimental * test0037 passes now meaning that alias works in more cases * I implemented foreach for Arrays though since ArrayLiterals are currently not supported this is not too helpful. |
October 06, 2014 Re: SDC-32bit | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | Updated fork again. -m32 and -m64 switches work properly now. sdc32 uses a the same default outputFile as dmd does. Soon to come : - ArrayLiterals In planning : - a new backend ;D - Source-to-Source transformations |
Copyright © 1999-2021 by the D Language Foundation