www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - At the language-level support for Micro-thread?

reply "Jet" <1092501151 qq.com> writes:
I hope the Dlang can have the Micro-thread at the language-level. 
Like the Goroutine, maby.
Sep 22 2014
parent reply "Idan Arye" <GenericNPC gmail.com> writes:
On Tuesday, 23 September 2014 at 03:07:41 UTC, Jet wrote:
 I hope the Dlang can have the Micro-thread at the 
 language-level. Like the Goroutine, maby.
Sure it can - it's called "Fibers": http://dlang.org/phobos/core_thread.html#.Fiber
Sep 23 2014
next sibling parent reply Daniel Kozak via Digitalmars-d <digitalmars-d puremagic.com> writes:
V Tue, 23 Sep 2014 08:06:35 +0000
Idan Arye via Digitalmars-d <digitalmars-d puremagic.com> napsáno:

 On Tuesday, 23 September 2014 at 03:07:41 UTC, Jet wrote:
 I hope the Dlang can have the Micro-thread at the 
 language-level. Like the Goroutine, maby.
Sure it can - it's called "Fibers": http://dlang.org/phobos/core_thread.html#.Fiber
Yep, AFAIK there is still no scheduler
Sep 23 2014
parent reply "Atila Neves" <atila.neves gmail.com> writes:
On Tuesday, 23 September 2014 at 08:14:50 UTC, Daniel Kozak via 
Digitalmars-d wrote:
 V Tue, 23 Sep 2014 08:06:35 +0000
 Idan Arye via Digitalmars-d <digitalmars-d puremagic.com> 
 napsáno:

 On Tuesday, 23 September 2014 at 03:07:41 UTC, Jet wrote:
 I hope the Dlang can have the Micro-thread at the 
 language-level. Like the Goroutine, maby.
Sure it can - it's called "Fibers": http://dlang.org/phobos/core_thread.html#.Fiber
Yep, AFAIK there is still no scheduler
vibe.d. Atila
Sep 23 2014
parent reply Daniel Kozak via Digitalmars-d <digitalmars-d puremagic.com> writes:
V Tue, 23 Sep 2014 12:14:15 +0000
Atila Neves via Digitalmars-d <digitalmars-d puremagic.com> napsáno:

 On Tuesday, 23 September 2014 at 08:14:50 UTC, Daniel Kozak via 
 Digitalmars-d wrote:
 V Tue, 23 Sep 2014 08:06:35 +0000
 Idan Arye via Digitalmars-d <digitalmars-d puremagic.com> 
 napsáno:

 On Tuesday, 23 September 2014 at 03:07:41 UTC, Jet wrote:
 I hope the Dlang can have the Micro-thread at the 
 language-level. Like the Goroutine, maby.
Sure it can - it's called "Fibers": http://dlang.org/phobos/core_thread.html#.Fiber
Yep, AFAIK there is still no scheduler
vibe.d. Atila
I know, but I mean there is no scheduler in standard library or at language-level
Sep 23 2014
parent reply "Sean Kelly" <sean invisibleduck.org> writes:
On Tuesday, 23 September 2014 at 12:19:52 UTC, Daniel Kozak via 
Digitalmars-d wrote:
 I know, but I mean there is no scheduler in standard library or 
 at language-level
That code has been written for almost a year now. Someone will pull it eventually :-/
Sep 23 2014
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/23/14, 6:41 AM, Sean Kelly wrote:
 On Tuesday, 23 September 2014 at 12:19:52 UTC, Daniel Kozak via
 Digitalmars-d wrote:
 I know, but I mean there is no scheduler in standard library or at
 language-level
That code has been written for almost a year now. Someone will pull it eventually :-/
In fairness, https://github.com/D-Programming-Language/phobos/pull/1910 needs your attention. It's failing unittests. -- Andrei
Sep 23 2014
parent reply "Sean Kelly" <sean invisibleduck.org> writes:
On Tuesday, 23 September 2014 at 15:44:19 UTC, Andrei 
Alexandrescu wrote:
 On 9/23/14, 6:41 AM, Sean Kelly wrote:
 On Tuesday, 23 September 2014 at 12:19:52 UTC, Daniel Kozak via
 Digitalmars-d wrote:
 I know, but I mean there is no scheduler in standard library 
 or at
 language-level
That code has been written for almost a year now. Someone will pull it eventually :-/
In fairness, https://github.com/D-Programming-Language/phobos/pull/1910 needs your attention. It's failing unittests. -- Andrei
On Win64 only. The problem isn't with the pull request but rather with fibers on Win64 or with something else entirely (unclear, given the stack traces I've seen so far). ie. The problem was that I added unittests that didn't exist before which may have uncovered an existing issue. I've considered simply disabling the tests on Win64 until whatever is going on there can be sorted out. I don't have a Win64 test environment so I've been relying on others to provide info.
Sep 23 2014
next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/23/14, 9:11 AM, Sean Kelly wrote:
 On Tuesday, 23 September 2014 at 15:44:19 UTC, Andrei Alexandrescu wrote:
 On 9/23/14, 6:41 AM, Sean Kelly wrote:
 On Tuesday, 23 September 2014 at 12:19:52 UTC, Daniel Kozak via
 Digitalmars-d wrote:
 I know, but I mean there is no scheduler in standard library or at
 language-level
That code has been written for almost a year now. Someone will pull it eventually :-/
In fairness, https://github.com/D-Programming-Language/phobos/pull/1910 needs your attention. It's failing unittests. -- Andrei
On Win64 only. The problem isn't with the pull request but rather with fibers on Win64 or with something else entirely (unclear, given the stack traces I've seen so far). ie. The problem was that I added unittests that didn't exist before which may have uncovered an existing issue. I've considered simply disabling the tests on Win64 until whatever is going on there can be sorted out. I don't have a Win64 test environment so I've been relying on others to provide info.
I guess you can disable the whole feature on Win64 and leave it to someone else to introduce it. You can't work on this stuff without a box. -- Andrei
Sep 23 2014
parent reply "David Nadlinger" <code klickverbot.at> writes:
On Tuesday, 23 September 2014 at 16:20:25 UTC, Andrei 
Alexandrescu wrote:
 I guess you can disable the whole feature on Win64 and leave it 
 to someone else to introduce it. You can't work on this stuff 
 without a box. -- Andrei
Yes, but don't forget that there are still a few actual, unresolved issues with the PR (and I'm not talking about my documentation nit-picks here, they could also be done separately). David
Sep 23 2014
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/23/14, 9:27 AM, David Nadlinger wrote:
 On Tuesday, 23 September 2014 at 16:20:25 UTC, Andrei Alexandrescu wrote:
 I guess you can disable the whole feature on Win64 and leave it to
 someone else to introduce it. You can't work on this stuff without a
 box. -- Andrei
Yes, but don't forget that there are still a few actual, unresolved issues with the PR (and I'm not talking about my documentation nit-picks here, they could also be done separately).
Sean? -- Andrei
Sep 23 2014
parent reply "Sean Kelly" <sean invisibleduck.org> writes:
On Tuesday, 23 September 2014 at 16:38:14 UTC, Andrei 
Alexandrescu wrote:
 On 9/23/14, 9:27 AM, David Nadlinger wrote:
 On Tuesday, 23 September 2014 at 16:20:25 UTC, Andrei 
 Alexandrescu wrote:
 I guess you can disable the whole feature on Win64 and leave 
 it to
 someone else to introduce it. You can't work on this stuff 
 without a
 box. -- Andrei
Yes, but don't forget that there are still a few actual, unresolved issues with the PR (and I'm not talking about my documentation nit-picks here, they could also be done separately).
Sean? -- Andrei
I wasn't aware of any. Someone suggested moving Generator to a separate module and I explained why this isn't advisable. If there are other issues, I would appreciate it if someone would restate them.
Sep 23 2014
parent reply "David Nadlinger" <code klickverbot.at> writes:
On Tuesday, 23 September 2014 at 16:56:36 UTC, Sean Kelly wrote:
 I wasn't aware of any.  Someone suggested moving Generator to a 
 separate module and I explained why this isn't advisable.  If 
 there are other issues, I would appreciate it if someone would 
 restate them.
1) There is still Martin's point that Boost.Coroutine seems to use a different design. I haven't had a look at it in any detail, but I think it would be good to briefly comment on why their choices would not be a good fit for us. After all, one would suspect that they started out with vaguely similar design space restrictions and goals. 2) There are still a couple of typos in the docs, and at least one code quality suggestion (`auto ref`). Just scroll through the non-outdated GitHub comments. David
Sep 23 2014
parent "Sean Kelly" <sean invisibleduck.org> writes:
On Tuesday, 23 September 2014 at 17:31:31 UTC, David Nadlinger 
wrote:
 On Tuesday, 23 September 2014 at 16:56:36 UTC, Sean Kelly wrote:
 I wasn't aware of any.  Someone suggested moving Generator to 
 a separate module and I explained why this isn't advisable.  
 If there are other issues, I would appreciate it if someone 
 would restate them.
1) There is still Martin's point that Boost.Coroutine seems to use a different design. I haven't had a look at it in any detail, but I think it would be good to briefly comment on why their choices would not be a good fit for us. After all, one would suspect that they started out with vaguely similar design space restrictions and goals.
I thought I did :-) Generator is a limited version of a coroutine, which I created both in response to some features in other languages like Go and because of something that came up during Chuck Allison's talk at the conference this year. It's possible that Boost-style coroutines will be added later and Generator will be made a special case of these, but that should not affect the current API. I think it still has merit as a standalone thing, as Boost-style coroutines won't work as an input range (which is the point of Generators).
 2) There are still a couple of typos in the docs, and at least 
 one code quality suggestion (`auto ref`). Just scroll through 
 the non-outdated GitHub comments.
I must have missed this. I'll check.
Sep 23 2014
prev sibling parent Steven Schveighoffer <schveiguy yahoo.com> writes:
On 9/23/14 12:11 PM, Sean Kelly wrote:
 On Tuesday, 23 September 2014 at 15:44:19 UTC, Andrei Alexandrescu wrote:
 On 9/23/14, 6:41 AM, Sean Kelly wrote:
 On Tuesday, 23 September 2014 at 12:19:52 UTC, Daniel Kozak via
 Digitalmars-d wrote:
 I know, but I mean there is no scheduler in standard library or at
 language-level
That code has been written for almost a year now. Someone will pull it eventually :-/
In fairness, https://github.com/D-Programming-Language/phobos/pull/1910 needs your attention. It's failing unittests. -- Andrei
On Win64 only. The problem isn't with the pull request but rather with fibers on Win64 or with something else entirely (unclear, given the stack traces I've seen so far). ie. The problem was that I added unittests that didn't exist before which may have uncovered an existing issue. I've considered simply disabling the tests on Win64 until whatever is going on there can be sorted out. I don't have a Win64 test environment so I've been relying on others to provide info.
I have a win 64 VM running on VMWare, which I use for work, but not super-often. Send me an email, I'll give you access via TeamViewer if you want to try stuff out. -Steve
Sep 25 2014
prev sibling parent reply "Jet" <1092501151 qq.com> writes:
On Tuesday, 23 September 2014 at 08:06:36 UTC, Idan Arye wrote:
 On Tuesday, 23 September 2014 at 03:07:41 UTC, Jet wrote:
 I hope the Dlang can have the Micro-thread at the 
 language-level. Like the Goroutine, maby.
Sure it can - it's called "Fibers": http://dlang.org/phobos/core_thread.html#.Fiber
Oh, language-level ?
Sep 24 2014
parent "Marc =?UTF-8?B?U2Now7x0eiI=?= <schuetzm gmx.net> writes:
On Wednesday, 24 September 2014 at 11:55:46 UTC, Jet wrote:
 On Tuesday, 23 September 2014 at 08:06:36 UTC, Idan Arye wrote:
 On Tuesday, 23 September 2014 at 03:07:41 UTC, Jet wrote:
 I hope the Dlang can have the Micro-thread at the 
 language-level. Like the Goroutine, maby.
Sure it can - it's called "Fibers": http://dlang.org/phobos/core_thread.html#.Fiber
Oh, language-level ?
What's wrong with a library implementation?
Sep 24 2014