digitalmars.D - Status on Precise GC
- Tyler Jameson Little (19/19) Sep 07 2012 This issue on bugzilla hasn't been updated since July 2011, but
- dsimcha (7/26) Sep 07 2012 Here's the GSoC project I mentored this summer. A little
- Rainer Schuetze (8/43) Sep 08 2012 I happen to have been trying it yesterday and spent the better part of
- Rainer Schuetze (27/31) Sep 15 2012 It took a little longer than I have hoped for, but I have committed a
- Tyler Jameson Little (15/53) Sep 08 2012 Awesome, that's good news. I'd love to test it out, but I've
- Jacob Carlborg (7/13) Sep 09 2012 Just run:
- dsimcha (9/21) Sep 09 2012 You also need to build Phobos, which automatically links the
- Tyler Jameson Little (11/37) Sep 09 2012 Cool, that sounds easy enough. I'm running Linux, so hopefully I
- Sean Kelly (15/38) Sep 09 2012 objects into a single library file, by going into the Phobos directory =
- Benjamin Thaut (10/29) Sep 07 2012 About a year ago I have been at the same point then you are now, and
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (6/48) Sep 08 2012 You can't be incremental /and/ concurrent non-STW.
- Sean Kelly (7/55) Sep 08 2012 mport_functions_from_gcx_in_object.di_171815.html
- Benjamin Thaut (5/54) Sep 08 2012 You can, they have multiple pools of memory, some of them are scanned
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (8/66) Sep 08 2012 Right... but then your GC is not purely concurrent non-STW, which is
-
Adam Wilson
(17/64)
Sep 08 2012
On Sat, 08 Sep 2012 05:47:23 -0700, Alex R=F8nne Petersen
- =?ISO-8859-15?Q?Alex_R=F8nne_Petersen?= (6/62) Sep 08 2012 (See my reply to Benjamin.)
- Benjamin Thaut (6/10) Sep 09 2012 Thats exactly the article which I tried to summarize. (Which apperently
This issue on bugzilla hasn't been updated since July 2011, but it's assigned to Sean Kelly: http://d.puremagic.com/issues/show_bug.cgi?id=3463 I've found these threads concerning a precise GC: http://www.digitalmars.com/d/archives/digitalmars/D/learn/Regarding_the_more_precise_GC_35038.html http://www.digitalmars.com/d/archives/digitalmars/D/How_can_I_properly_import_functions_from_gcx_in_object.di_171815.html Is this issue obsolete, or is it being worked on? Reason being, I'm writing a game in D and I plan to write it in nearly 100% D (with the exception being OpenGL libraries and the like), but I know I'll run into problems with the GC eventually. If this is an active project that may get finished in the relative near term (less than a year), then I'd feel comfortable knowing that eventually problems may go away. I want to eventually make this work with ARM (Raspberry PI & cubieboard), and the GC is a major blocker here (well, and a cross-compiler, but I'll work that out when I get there). I'm using dmd atm if that matters. Thanks! Jameson
Sep 07 2012
Here's the GSoC project I mentored this summer. A little integration work still needs to be done, and I've been meaning to ping the student about the status of this. If you want, I'd welcome some beta testers. https://github.com/Tuna-Fish/druntime/tree/gc_poolwise_bitmap On Saturday, 8 September 2012 at 01:55:44 UTC, Tyler Jameson Little wrote:This issue on bugzilla hasn't been updated since July 2011, but it's assigned to Sean Kelly: http://d.puremagic.com/issues/show_bug.cgi?id=3463 I've found these threads concerning a precise GC: http://www.digitalmars.com/d/archives/digitalmars/D/learn/Regarding_the_more_precise_GC_35038.html http://www.digitalmars.com/d/archives/digitalmars/D/How_can_I_properly_import_functions_from_gcx_in_object.di_171815.html Is this issue obsolete, or is it being worked on? Reason being, I'm writing a game in D and I plan to write it in nearly 100% D (with the exception being OpenGL libraries and the like), but I know I'll run into problems with the GC eventually. If this is an active project that may get finished in the relative near term (less than a year), then I'd feel comfortable knowing that eventually problems may go away. I want to eventually make this work with ARM (Raspberry PI & cubieboard), and the GC is a major blocker here (well, and a cross-compiler, but I'll work that out when I get there). I'm using dmd atm if that matters. Thanks! Jameson
Sep 07 2012
I happen to have been trying it yesterday and spent the better part of the day fixing issues (especially with dynamic arrays). I just noticed there are still problems with associative arrays, but I hope I will have a pull request today. Rainer dsimcha: Sorry about spamming your personal mail, I pushed the wrong reply button. On 08.09.2012 04:59, dsimcha wrote:Here's the GSoC project I mentored this summer. A little integration work still needs to be done, and I've been meaning to ping the student about the status of this. If you want, I'd welcome some beta testers. https://github.com/Tuna-Fish/druntime/tree/gc_poolwise_bitmap On Saturday, 8 September 2012 at 01:55:44 UTC, Tyler Jameson Little wrote:This issue on bugzilla hasn't been updated since July 2011, but it's assigned to Sean Kelly: http://d.puremagic.com/issues/show_bug.cgi?id=3463 I've found these threads concerning a precise GC: http://www.digitalmars.com/d/archives/digitalmars/D/learn/Regarding_the_more_precise_GC_35038.html http://www.digitalmars.com/d/archives/digitalmars/D/How_can_I_properly_import_functions_from_gcx_in_object.di_171815.html Is this issue obsolete, or is it being worked on? Reason being, I'm writing a game in D and I plan to write it in nearly 100% D (with the exception being OpenGL libraries and the like), but I know I'll run into problems with the GC eventually. If this is an active project that may get finished in the relative near term (less than a year), then I'd feel comfortable knowing that eventually problems may go away. I want to eventually make this work with ARM (Raspberry PI & cubieboard), and the GC is a major blocker here (well, and a cross-compiler, but I'll work that out when I get there). I'm using dmd atm if that matters. Thanks! Jameson
Sep 08 2012
On 08.09.2012 09:07, Rainer Schuetze wrote:I happen to have been trying it yesterday and spent the better part of the day fixing issues (especially with dynamic arrays). I just noticed there are still problems with associative arrays, but I hope I will have a pull request today.It took a little longer than I have hoped for, but I have committed a new branch here: https://github.com/rainers/druntime/tree/precise_gc2 I didn't make it a pull request, because I had to touch almost all of the precise specific code and change a lot more. It is also rebased to current druntime-master, so it is easier to try it out. Associative arrays are a bit troublesome because they emplace keys and values into memory areas without type information, I guess the gc interface needs to be extended to support handing pointer information to the gc. That would also help emplace!T and others. The garbage collector works with the test suite and Visual D (that means doesn't crash on Win32, cannot test elsewhere), but unfortunately, it still doesn't collect everything. A source of trouble is the pre-initialized data segment, that contains a lot of GUIDs and strings making good false pointers. I have a compiler patch to combine all the data that would get a NOSCAN attribute at runtime into a contiguous region, so that it can be excluded from scanning, but I would like to exclude more, i.e. the C runtime library data, noscan areas in TLS and BSS. The compiler still resists against changes to that respect... Another option could be to generate pointer bitmaps for the data areas at compile time into another segment, but I'm not sure whether the linker could mess up the order in comparison to the actual data segments. If you like to test it, especially welcome on other platforms, there is a precisegc_test.d in src/gc that should check the basic runtime info generation. Rainer
Sep 15 2012
Awesome, that's good news. I'd love to test it out, but I've never built the D runtime (or Phobos for that matter) from source. Are there any instructions or do I just do something like make && sudo make install and it'll put itself in the right places? FWIW, I'm running Linux with the standard DMD 2.060 compiler. I'm still relatively new to D. A year ago I wrote some simple programs to get familiar (like an HTTP lib and a start at a package manager), but nothing low level like GC tuning or the like. I took a class where we implemented a few simple GCs, but that doesn't mean I know anything about GC design =D. Let me know how I can help! I'm currently in school, so time is a little hard to come by, but I'm willing to report any oddities that I notice, and perhaps write a few unit tests. On Saturday, 8 September 2012 at 02:58:44 UTC, dsimcha wrote:Here's the GSoC project I mentored this summer. A little integration work still needs to be done, and I've been meaning to ping the student about the status of this. If you want, I'd welcome some beta testers. https://github.com/Tuna-Fish/druntime/tree/gc_poolwise_bitmap On Saturday, 8 September 2012 at 01:55:44 UTC, Tyler Jameson Little wrote:This issue on bugzilla hasn't been updated since July 2011, but it's assigned to Sean Kelly: http://d.puremagic.com/issues/show_bug.cgi?id=3463 I've found these threads concerning a precise GC: http://www.digitalmars.com/d/archives/digitalmars/D/learn/Regarding_the_more_precise_GC_35038.html http://www.digitalmars.com/d/archives/digitalmars/D/How_can_I_properly_import_functions_from_gcx_in_object.di_171815.html Is this issue obsolete, or is it being worked on? Reason being, I'm writing a game in D and I plan to write it in nearly 100% D (with the exception being OpenGL libraries and the like), but I know I'll run into problems with the GC eventually. If this is an active project that may get finished in the relative near term (less than a year), then I'd feel comfortable knowing that eventually problems may go away. I want to eventually make this work with ARM (Raspberry PI & cubieboard), and the GC is a major blocker here (well, and a cross-compiler, but I'll work that out when I get there). I'm using dmd atm if that matters. Thanks! Jameson
Sep 08 2012
On 2012-09-08 23:35, Tyler Jameson Little wrote:Awesome, that's good news. I'd love to test it out, but I've never built the D runtime (or Phobos for that matter) from source. Are there any instructions or do I just do something like make && sudo make install and it'll put itself in the right places? FWIW, I'm running Linux with the standard DMD 2.060 compiler.Just run: make -f posix.mak Or, for Windows: make -f win32.mak -- /Jacob Carlborg
Sep 09 2012
On Sunday, 9 September 2012 at 16:51:15 UTC, Jacob Carlborg wrote:On 2012-09-08 23:35, Tyler Jameson Little wrote:You also need to build Phobos, which automatically links the druntime objects into a single library file, by going into the Phobos directory and doing the same thing. An annoying issue on Windows, though, is that DMD keeps running out of memory when all the precise GC teimplates are instantiated. I've been meaning to rewrite the make file to separately compile Phobos on Windows, but I've been preoccupied with other things.Awesome, that's good news. I'd love to test it out, but I've never built the D runtime (or Phobos for that matter) from source. Are there any instructions or do I just do something like make && sudo make install and it'll put itself in the right places? FWIW, I'm running Linux with the standard DMD 2.060 compiler.Just run: make -f posix.mak Or, for Windows: make -f win32.mak
Sep 09 2012
On Sunday, 9 September 2012 at 17:22:01 UTC, dsimcha wrote:On Sunday, 9 September 2012 at 16:51:15 UTC, Jacob Carlborg wrote:Cool, that sounds easy enough. I'm running Linux, so hopefully I won't have that problem. I won't need to compile on Windows for quite a while, so that's not a big deal. I probably won't get to it for a few days (because of class responsibilities), but I'll try to get to it by the end of the week. I'm excited to test it out and see if I can break it! I'll check back here every so often, so if you hear from that GSoC person, I'd love to hear any updates on what may or may not be finished. I'd really like to develop something non-trivial in D.On 2012-09-08 23:35, Tyler Jameson Little wrote:You also need to build Phobos, which automatically links the druntime objects into a single library file, by going into the Phobos directory and doing the same thing. An annoying issue on Windows, though, is that DMD keeps running out of memory when all the precise GC teimplates are instantiated. I've been meaning to rewrite the make file to separately compile Phobos on Windows, but I've been preoccupied with other things.Awesome, that's good news. I'd love to test it out, but I've never built the D runtime (or Phobos for that matter) from source. Are there any instructions or do I just do something like make && sudo make install and it'll put itself in the right places? FWIW, I'm running Linux with the standard DMD 2.060 compiler.Just run: make -f posix.mak Or, for Windows: make -f win32.mak
Sep 09 2012
On Sep 9, 2012, at 8:16 PM, Tyler Jameson Little <beatgammit gmail.com> = wrote:On Sunday, 9 September 2012 at 17:22:01 UTC, dsimcha wrote:objects into a single library file, by going into the Phobos directory = and doing the same thing.On Sunday, 9 September 2012 at 16:51:15 UTC, Jacob Carlborg wrote:On 2012-09-08 23:35, Tyler Jameson Little wrote:=20 You also need to build Phobos, which automatically links the druntime =Awesome, that's good news. I'd love to test it out, but I've never built the D runtime (or Phobos for that matter) from source. Are there any instructions or do I just do something like make && sudo make install and it'll put itself in the right places? FWIW, I'm running Linux with the standard DMD 2.060 compiler.=20 Just run: =20 make -f posix.mak =20 Or, for Windows: =20 make -f win32.makof memory when all the precise GC teimplates are instantiated. I've = been meaning to rewrite the make file to separately compile Phobos on = Windows, but I've been preoccupied with other things.=20 An annoying issue on Windows, though, is that DMD keeps running out ==20 Cool, that sounds easy enough. I'm running Linux, so hopefully I won't =have that problem. I won't need to compile on Windows for quite a while, = so that's not a big deal. Depending on your setup, you may need to set the DRUNTIME_PATH variable = to get make to find your runtime library. If your druntime lib is in = ~/lib you'd do: make -fposix.mak DRUNTIME_PATH=3D$HOME The makefile looks for the library in a "lib" subdirectory of whatever = directory you supply.=
Sep 09 2012
Am 08.09.2012 03:56, schrieb Tyler Jameson Little:This issue on bugzilla hasn't been updated since July 2011, but it's assigned to Sean Kelly: http://d.puremagic.com/issues/show_bug.cgi?id=3463 I've found these threads concerning a precise GC: http://www.digitalmars.com/d/archives/digitalmars/D/learn/Regarding_the_more_precise_GC_35038.html http://www.digitalmars.com/d/archives/digitalmars/D/How_can_I_properly_import_functions_from_gcx_in_object.di_171815.html Is this issue obsolete, or is it being worked on? Reason being, I'm writing a game in D and I plan to write it in nearly 100% D (with the exception being OpenGL libraries and the like), but I know I'll run into problems with the GC eventually. If this is an active project that may get finished in the relative near term (less than a year), then I'd feel comfortable knowing that eventually problems may go away. I want to eventually make this work with ARM (Raspberry PI & cubieboard), and the GC is a major blocker here (well, and a cross-compiler, but I'll work that out when I get there). I'm using dmd atm if that matters. Thanks! JamesonAbout a year ago I have been at the same point then you are now, and afterwars I tell you that you should write your project without a GC from the start. See my article about this: http://3d.benjamin-thaut.de/?p=20 GCs are usually not very good for games, unless you have a concurrent generational incremental non stop the world GC like .Net 4 (Which they created only for XNA 4) Kind Regards Benjamin Thaut
Sep 07 2012
On 08-09-2012 08:44, Benjamin Thaut wrote:Am 08.09.2012 03:56, schrieb Tyler Jameson Little:You can't be incremental /and/ concurrent non-STW. -- Alex Rønne Petersen alex lycus.org http://lycus.orgThis issue on bugzilla hasn't been updated since July 2011, but it's assigned to Sean Kelly: http://d.puremagic.com/issues/show_bug.cgi?id=3463 I've found these threads concerning a precise GC: http://www.digitalmars.com/d/archives/digitalmars/D/learn/Regarding_the_more_precise_GC_35038.html http://www.digitalmars.com/d/archives/digitalmars/D/How_can_I_properly_import_functions_from_gcx_in_object.di_171815.html Is this issue obsolete, or is it being worked on? Reason being, I'm writing a game in D and I plan to write it in nearly 100% D (with the exception being OpenGL libraries and the like), but I know I'll run into problems with the GC eventually. If this is an active project that may get finished in the relative near term (less than a year), then I'd feel comfortable knowing that eventually problems may go away. I want to eventually make this work with ARM (Raspberry PI & cubieboard), and the GC is a major blocker here (well, and a cross-compiler, but I'll work that out when I get there). I'm using dmd atm if that matters. Thanks! JamesonAbout a year ago I have been at the same point then you are now, and afterwars I tell you that you should write your project without a GC from the start. See my article about this: http://3d.benjamin-thaut.de/?p=20 GCs are usually not very good for games, unless you have a concurrent generational incremental non stop the world GC like .Net 4 (Which they created only for XNA 4) Kind Regards Benjamin Thaut
Sep 08 2012
On Sep 8, 2012, at 5:47 AM, Alex R=C3=B8nne Petersen <alex lycus.org> wrote:=On 08-09-2012 08:44, Benjamin Thaut wrote:more_precise_GC_35038.htmlAm 08.09.2012 03:56, schrieb Tyler Jameson Little:This issue on bugzilla hasn't been updated since July 2011, but it's assigned to Sean Kelly: http://d.puremagic.com/issues/show_bug.cgi?id=3D3463 =20 I've found these threads concerning a precise GC: =20 http://www.digitalmars.com/d/archives/digitalmars/D/learn/Regarding_the_=mport_functions_from_gcx_in_object.di_171815.html=20 =20 =20 http://www.digitalmars.com/d/archives/digitalmars/D/How_can_I_properly_i=IBM's Metronome is a soft-realtime incremental GC. Very impressive, though i= t's only for Java. I don't think an incremental GC is compatible with D (ma= ybe SafeD), but I would love if there were maximum delay guarantees associat= ed with a collection cycle.=20==20 You can't be incremental /and/ concurrent non-STW.=20 =20 =20 Is this issue obsolete, or is it being worked on? =20 Reason being, I'm writing a game in D and I plan to write it in nearly 100% D (with the exception being OpenGL libraries and the like), but I know I'll run into problems with the GC eventually. If this is an active project that may get finished in the relative near term (less than a year), then I'd feel comfortable knowing that eventually problems may go away. =20 I want to eventually make this work with ARM (Raspberry PI & cubieboard), and the GC is a major blocker here (well, and a cross-compiler, but I'll work that out when I get there). =20 I'm using dmd atm if that matters. =20 Thanks! =20 Jameson=20 About a year ago I have been at the same point then you are now, and afterwars I tell you that you should write your project without a GC from the start. See my article about this: http://3d.benjamin-thaut.de/?p=3D20 =20 GCs are usually not very good for games, unless you have a concurrent generational incremental non stop the world GC like .Net 4 (Which they created only for XNA 4) =20 Kind Regards Benjamin Thaut
Sep 08 2012
Am 08.09.2012 14:47, schrieb Alex Rønne Petersen:On 08-09-2012 08:44, Benjamin Thaut wrote:You can, they have multiple pools of memory, some of them are scanned concurrently and the big one incremental. Kind Regards Benjamin ThautAm 08.09.2012 03:56, schrieb Tyler Jameson Little:You can't be incremental /and/ concurrent non-STW.This issue on bugzilla hasn't been updated since July 2011, but it's assigned to Sean Kelly: http://d.puremagic.com/issues/show_bug.cgi?id=3463 I've found these threads concerning a precise GC: http://www.digitalmars.com/d/archives/digitalmars/D/learn/Regarding_the_more_precise_GC_35038.html http://www.digitalmars.com/d/archives/digitalmars/D/How_can_I_properly_import_functions_from_gcx_in_object.di_171815.html Is this issue obsolete, or is it being worked on? Reason being, I'm writing a game in D and I plan to write it in nearly 100% D (with the exception being OpenGL libraries and the like), but I know I'll run into problems with the GC eventually. If this is an active project that may get finished in the relative near term (less than a year), then I'd feel comfortable knowing that eventually problems may go away. I want to eventually make this work with ARM (Raspberry PI & cubieboard), and the GC is a major blocker here (well, and a cross-compiler, but I'll work that out when I get there). I'm using dmd atm if that matters. Thanks! JamesonAbout a year ago I have been at the same point then you are now, and afterwars I tell you that you should write your project without a GC from the start. See my article about this: http://3d.benjamin-thaut.de/?p=20 GCs are usually not very good for games, unless you have a concurrent generational incremental non stop the world GC like .Net 4 (Which they created only for XNA 4) Kind Regards Benjamin Thaut
Sep 08 2012
On 08-09-2012 22:04, Benjamin Thaut wrote:Am 08.09.2012 14:47, schrieb Alex Rønne Petersen:Right... but then your GC is not purely concurrent non-STW, which is what I thought you were saying. Incremental inherently implies some kind of STW, regardless of what generation we're talking about. -- Alex Rønne Petersen alex lycus.org http://lycus.orgOn 08-09-2012 08:44, Benjamin Thaut wrote:You can, they have multiple pools of memory, some of them are scanned concurrently and the big one incremental. Kind Regards Benjamin ThautAm 08.09.2012 03:56, schrieb Tyler Jameson Little:You can't be incremental /and/ concurrent non-STW.This issue on bugzilla hasn't been updated since July 2011, but it's assigned to Sean Kelly: http://d.puremagic.com/issues/show_bug.cgi?id=3463 I've found these threads concerning a precise GC: http://www.digitalmars.com/d/archives/digitalmars/D/learn/Regarding_the_more_precise_GC_35038.html http://www.digitalmars.com/d/archives/digitalmars/D/How_can_I_properly_import_functions_from_gcx_in_object.di_171815.html Is this issue obsolete, or is it being worked on? Reason being, I'm writing a game in D and I plan to write it in nearly 100% D (with the exception being OpenGL libraries and the like), but I know I'll run into problems with the GC eventually. If this is an active project that may get finished in the relative near term (less than a year), then I'd feel comfortable knowing that eventually problems may go away. I want to eventually make this work with ARM (Raspberry PI & cubieboard), and the GC is a major blocker here (well, and a cross-compiler, but I'll work that out when I get there). I'm using dmd atm if that matters. Thanks! JamesonAbout a year ago I have been at the same point then you are now, and afterwars I tell you that you should write your project without a GC from the start. See my article about this: http://3d.benjamin-thaut.de/?p=20 GCs are usually not very good for games, unless you have a concurrent generational incremental non stop the world GC like .Net 4 (Which they created only for XNA 4) Kind Regards Benjamin Thaut
Sep 08 2012
On Sat, 08 Sep 2012 05:47:23 -0700, Alex R=F8nne Petersen <alex lycus.or= g> = wrote:On 08-09-2012 08:44, Benjamin Thaut wrote:the_more_precise_GC_35038.htmlAm 08.09.2012 03:56, schrieb Tyler Jameson Little:This issue on bugzilla hasn't been updated since July 2011, but it's assigned to Sean Kelly: http://d.puremagic.com/issues/show_bug.cgi?id=3D3463 I've found these threads concerning a precise GC: http://www.digitalmars.com/d/archives/digitalmars/D/learn/Regarding_=ly_import_functions_from_gcx_in_object.di_171815.htmlhttp://www.digitalmars.com/d/archives/digitalmars/D/How_can_I_proper=Is this issue obsolete, or is it being worked on? Reason being, I'm writing a game in D and I plan to write it in nearly 100% D (with the exception being OpenGL libraries and the like), but I know I'll run into problems with the GC eventually. If this is an active project that may get finished in the relative near term (less than a year), then I'd feel comfortable knowing that eventually problems may go away. I want to eventually make this work with ARM (Raspberry PI & cubieboard), and the GC is a major blocker here (well, and a cross-compiler, but I'll work that out when I get there). I'm using dmd atm if that matters. Thanks! JamesonAbout a year ago I have been at the same point then you are now, and afterwars I tell you that you should write your project without a GC from the start. See my article about this: http://3d.benjamin-thaut.de/?p=3D20 GCs are usually not very good for games, unless you have a concurrent=ygenerational incremental non stop the world GC like .Net 4 (Which the=In .NET Gen 2 is collected concurrently. They don't collect Gen 0 and Ge= n = 1 because "they finish very fast". They do have a heavily threaded STW = collector for server usage. .NET 4 GC: http://msdn.microsoft.com/en-us/library/ee787088.aspx -- = Adam Wilson IRC: LightBender Project Coordinator The Horizon Project http://www.thehorizonproject.org/created only for XNA 4) Kind Regards Benjamin ThautYou can't be incremental /and/ concurrent non-STW.
Sep 08 2012
On 08-09-2012 22:54, Adam Wilson wrote:On Sat, 08 Sep 2012 05:47:23 -0700, Alex Rønne Petersen <alex lycus.org> wrote:(See my reply to Benjamin.) -- Alex Rønne Petersen alex lycus.org http://lycus.orgOn 08-09-2012 08:44, Benjamin Thaut wrote:In .NET Gen 2 is collected concurrently. They don't collect Gen 0 and Gen 1 because "they finish very fast". They do have a heavily threaded STW collector for server usage. .NET 4 GC: http://msdn.microsoft.com/en-us/library/ee787088.aspxAm 08.09.2012 03:56, schrieb Tyler Jameson Little:You can't be incremental /and/ concurrent non-STW.This issue on bugzilla hasn't been updated since July 2011, but it's assigned to Sean Kelly: http://d.puremagic.com/issues/show_bug.cgi?id=3463 I've found these threads concerning a precise GC: http://www.digitalmars.com/d/archives/digitalmars/D/learn/Regarding_the_more_precise_GC_35038.html http://www.digitalmars.com/d/archives/digitalmars/D/How_can_I_properly_import_functions_from_gcx_in_object.di_171815.html Is this issue obsolete, or is it being worked on? Reason being, I'm writing a game in D and I plan to write it in nearly 100% D (with the exception being OpenGL libraries and the like), but I know I'll run into problems with the GC eventually. If this is an active project that may get finished in the relative near term (less than a year), then I'd feel comfortable knowing that eventually problems may go away. I want to eventually make this work with ARM (Raspberry PI & cubieboard), and the GC is a major blocker here (well, and a cross-compiler, but I'll work that out when I get there). I'm using dmd atm if that matters. Thanks! JamesonAbout a year ago I have been at the same point then you are now, and afterwars I tell you that you should write your project without a GC from the start. See my article about this: http://3d.benjamin-thaut.de/?p=20 GCs are usually not very good for games, unless you have a concurrent generational incremental non stop the world GC like .Net 4 (Which they created only for XNA 4) Kind Regards Benjamin Thaut
Sep 08 2012
Am 08.09.2012 22:54, schrieb Adam Wilson:In .NET Gen 2 is collected concurrently. They don't collect Gen 0 and Gen 1 because "they finish very fast". They do have a heavily threaded STW collector for server usage. .NET 4 GC: http://msdn.microsoft.com/en-us/library/ee787088.aspxThats exactly the article which I tried to summarize. (Which apperently wasn't that percise). As it seems that D can't support such a modern GC I think the focus should be put more in the non-GC side of things. Kind Regards Benjamin Thaut
Sep 09 2012