Re: Analysis of D GC

2017-06-26 Thread Jacob Carlborg via Digitalmars-d
On 2017-06-25 17:47, Adrian Matoga wrote: There are other 32-bit platforms that are going to stay on the market for a while. 32-bit ARMs won't disappear anytime soon. Sure, but as I mentioned I mixed up ketmar and Guillaume Piolat and Guillaume Piolat is using Apple platforms, as far as I

Re: Analysis of D GC

2017-06-25 Thread Adrian Matoga via Digitalmars-d
On Tuesday, 20 June 2017 at 11:49:49 UTC, Jacob Carlborg wrote: You need to move to 64bit. Apple is already deprecating support for 32bit apps and after the next version of macOS (High Sierra) they're going to remove the support for 32bit apps. There are other 32-bit platforms that are going

Re: Analysis of D GC

2017-06-25 Thread Martin Nowak via Digitalmars-d
On Saturday, 24 June 2017 at 18:12:43 UTC, Dmitry Olshansky wrote: I still think that separate pool types is better, see eg jemalloc. Right now this leads to some inflation of RSS cause previously used and now freed pages can only be reused when the whole pool (e.g. 4MB or 16MB) is free

Re: Analysis of D GC

2017-06-24 Thread Dmitry Olshansky via Digitalmars-d
On Saturday, 24 June 2017 at 15:31:21 UTC, Martin Nowak wrote: On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote: My take on D's GC problem, also spoiler - I'm going to build a new one soonish. http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html --- Dmitry

Re: Analysis of D GC

2017-06-24 Thread Martin Nowak via Digitalmars-d
On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote: My take on D's GC problem, also spoiler - I'm going to build a new one soonish. http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html --- Dmitry Olshansky FYI, we've tried to improve the binary pool search, but

Re: Analysis of D GC

2017-06-22 Thread safety0ff via Digitalmars-d
On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote: http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html "But the main unanswered question is why? Why an extra pass?" It's likely to pave over the many pitfalls of D finalizers. E.g. finalizers corrupting data: class

Re: Analysis of D GC

2017-06-22 Thread Kagamin via Digitalmars-d
On Tuesday, 20 June 2017 at 15:16:01 UTC, Ecstatic Coder wrote: This is probably why Nim's author was once paid to wrap an open source game engine (Urho3D), and improve the language's native compatibility with C++ libraries. https://forum.nim-lang.org/t/870

Re: Analysis of D GC

2017-06-21 Thread Jacob Carlborg via Digitalmars-d
On 2017-06-20 16:16, Petar Kirov [ZombineDev] wrote: I highly recommend watching this talk: https://www.youtube.com/watch?v=36Ykla27FIo and browsing through this repo: https://github.com/ionescu007/lxss which reveals many interesting details about that part of Windows. Looks interesting.

Re: Analysis of D GC

2017-06-20 Thread H. S. Teoh via Digitalmars-d
On Tue, Jun 20, 2017 at 07:14:11PM +, Dmitry Olshansky via Digitalmars-d wrote: > On Tuesday, 20 June 2017 at 16:49:44 UTC, H. S. Teoh wrote: [...] > Interestingly the moment you "reallocate" to expand the AA it will be > considered a new object. [...] This is not entirely true. The *table*

Re: Analysis of D GC

2017-06-20 Thread Dmitry Olshansky via Digitalmars-d
On Tuesday, 20 June 2017 at 16:49:44 UTC, H. S. Teoh wrote: On Tue, Jun 20, 2017 at 07:47:13AM +, Dmitry Olshansky via Digitalmars-d wrote: On Monday, 19 June 2017 at 23:52:16 UTC, Vladimir Panteleev wrote: [...] FWIW, here's a data point to the contrary: One of my projects involves

Re: Analysis of D GC

2017-06-20 Thread Jacob Carlborg via Digitalmars-d
On 2017-06-20 16:03, Petar Kirov [ZombineDev] wrote: I highly doubt that ketmar would have any intention of touching macOS regardless ;) I somehow mixed up ketmar and Guillaume Piolat (which used to go by the alias p0nce). My mistake. -- /Jacob Carlborg

Re: Analysis of D GC

2017-06-20 Thread H. S. Teoh via Digitalmars-d
On Tue, Jun 20, 2017 at 07:47:13AM +, Dmitry Olshansky via Digitalmars-d wrote: > On Monday, 19 June 2017 at 23:52:16 UTC, Vladimir Panteleev wrote: [...] > > - Support generational collection using write barriers implemented > > through memory protection. > > Super slow sadly. That being

Re: Analysis of D GC

2017-06-20 Thread Dmitry Olshansky via Digitalmars-d
On Tuesday, 20 June 2017 at 15:16:01 UTC, Ecstatic Coder wrote: My take on D's GC problem, also spoiler - I'm going to build a new one soonish. http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html --- Dmitry Olshansky Many thanks for your efforts Dmitry :) May I ask you if you

Re: Analysis of D GC

2017-06-20 Thread Ecstatic Coder via Digitalmars-d
My take on D's GC problem, also spoiler - I'm going to build a new one soonish. http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html --- Dmitry Olshansky Many thanks for your efforts Dmitry :) May I ask you if you plan to make a soft real-time GC similar to the one implemented

Re: Analysis of D GC

2017-06-20 Thread via Digitalmars-d
On Tuesday, 20 June 2017 at 07:11:10 UTC, Dmitry Olshansky wrote: On Monday, 19 June 2017 at 22:50:05 UTC, Adam D. Ruppe wrote: What is it about Windows that makes you call it a distant possibility? Is it just that you are unfamiliar with it or is there some specific OS level feature you plan

Re: Analysis of D GC

2017-06-20 Thread via Digitalmars-d
On Tuesday, 20 June 2017 at 11:44:41 UTC, rikki cattermole wrote: On 20/06/2017 12:41 PM, Jacob Carlborg wrote: On 2017-06-20 06:37, ketmar wrote: it is higly depends of undocumented windows internals, and not portable between windows versions. more-or-less working implementations of

Re: Analysis of D GC

2017-06-20 Thread via Digitalmars-d
On Tuesday, 20 June 2017 at 11:49:49 UTC, Jacob Carlborg wrote: On 2017-06-20 06:54, ketmar wrote: [...] You need to move to 64bit. Apple is already deprecating support for 32bit apps and after the next version of macOS (High Sierra) they're going to remove the support for 32bit apps. I

Re: Analysis of D GC

2017-06-20 Thread Dmitry Olshansky via Digitalmars-d
On Tuesday, 20 June 2017 at 04:35:27 UTC, ketmar wrote: H. S. Teoh wrote: He mentioned the "fork trick", which I assume refers to how Linux's implementation of fork() uses copy-on-write rather than immediately duplicating the parent process' memory structures. There was a D1 GC some time

Re: Analysis of D GC

2017-06-20 Thread Jacob Carlborg via Digitalmars-d
On 2017-06-20 06:54, ketmar wrote: "...the dubious optimization of no interior pointers..." this is the ONLY (i emphasise it!) way i were able to make my e-mail and irc clients to not leak memory, and keep using GC. on 32-bit systems false pointers *is* a problem, and NO_INTERIOR really

Re: Analysis of D GC

2017-06-20 Thread rikki cattermole via Digitalmars-d
On 20/06/2017 12:41 PM, Jacob Carlborg wrote: On 2017-06-20 06:37, ketmar wrote: it is higly depends of undocumented windows internals, and not portable between windows versions. more-or-less working implementations of `fork()` were existed at least since NT3 era, but nobody considered 'em

Re: Analysis of D GC

2017-06-20 Thread Jacob Carlborg via Digitalmars-d
On 2017-06-20 01:52, Vladimir Panteleev wrote: - More, much more debugging facilities! Integrate Diamond and Valgrind interoperability. Don't for get the Clang sanitizers, assuming they work using LDC. -- /Jacob Carlborg

Re: Analysis of D GC

2017-06-20 Thread Jacob Carlborg via Digitalmars-d
On 2017-06-20 06:37, ketmar wrote: it is higly depends of undocumented windows internals, and not portable between windows versions. more-or-less working implementations of `fork()` were existed at least since NT3 era, but nobody considered 'em as more than a PoC, and even next service pack

Re: Analysis of D GC

2017-06-20 Thread Walter Bright via Digitalmars-d
On 6/20/2017 12:04 AM, Nicholas Wilson wrote: On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote: http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html This was posted on reddit: https://www.reddit.com/r/programming/comments/6ic52d/inside_ds_gc/ Also on hacker news.

Re: Analysis of D GC

2017-06-20 Thread Dmitry Olshansky via Digitalmars-d
On Monday, 19 June 2017 at 23:39:54 UTC, H. S. Teoh wrote: On Mon, Jun 19, 2017 at 10:35:42PM +, Dmitry Olshansky via Digitalmars-d wrote: My take on D's GC problem, also spoiler - I'm going to build a new one soonish. http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html

Re: Analysis of D GC

2017-06-20 Thread Dmitry Olshansky via Digitalmars-d
On Monday, 19 June 2017 at 23:10:43 UTC, Ali Çehreli wrote: On 06/19/2017 03:35 PM, Dmitry Olshansky wrote: My take on D's GC problem, also spoiler - I'm going to build a new one soonish. http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html --- Dmitry Olshansky Very

Re: Analysis of D GC

2017-06-20 Thread Dmitry Olshansky via Digitalmars-d
On Monday, 19 June 2017 at 23:52:16 UTC, Vladimir Panteleev wrote: On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote: My take on D's GC problem, also spoiler - I'm going to build a new one soonish. Looks like I'm not the only one itching to have a go at D's GC :) This will very

Re: Analysis of D GC

2017-06-20 Thread Dmitry Olshansky via Digitalmars-d
On Monday, 19 June 2017 at 22:50:05 UTC, Adam D. Ruppe wrote: What is it about Windows that makes you call it a distant possibility? Is it just that you are unfamiliar with it or is there some specific OS level feature you plan on needing? This is mostly because I wanted to abuse lazy commit

Re: Analysis of D GC

2017-06-20 Thread Dmitry Olshansky via Digitalmars-d
On Tuesday, 20 June 2017 at 02:23:48 UTC, safety0ff wrote: On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote: My take on D's GC problem, also spoiler - I'm going to build a new one soonish. http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html --- Dmitry Olshansky

Re: Analysis of D GC

2017-06-20 Thread Nicholas Wilson via Digitalmars-d
On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote: My take on D's GC problem, also spoiler - I'm going to build a new one soonish. http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html --- Dmitry Olshansky This was posted on reddit:

Re: Analysis of D GC

2017-06-19 Thread ketmar via Digitalmars-d
Dmitry Olshansky wrote: My take on D's GC problem, also spoiler - I'm going to build a new one soonish. http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html "...the dubious optimization of no interior pointers..." this is the ONLY (i emphasise it!) way i were able to make my

Re: Analysis of D GC

2017-06-19 Thread ketmar via Digitalmars-d
safety0ff wrote: On Monday, 19 June 2017 at 23:39:54 UTC, H. S. Teoh wrote: On Mon, Jun 19, 2017 at 10:50:05PM +, Adam D. Ruppe via Digitalmars-d wrote: What is it about Windows that makes you call it a distant possibility? Is it just that you are unfamiliar with it or is there some

Re: Analysis of D GC

2017-06-19 Thread ketmar via Digitalmars-d
H. S. Teoh wrote: He mentioned the "fork trick", which I assume refers to how Linux's implementation of fork() uses copy-on-write rather than immediately duplicating the parent process' memory structures. There was a D1 GC some time ago that depended on this behaviour to speed up the

Re: Analysis of D GC

2017-06-19 Thread safety0ff via Digitalmars-d
On Monday, 19 June 2017 at 23:39:54 UTC, H. S. Teoh wrote: On Mon, Jun 19, 2017 at 10:50:05PM +, Adam D. Ruppe via Digitalmars-d wrote: What is it about Windows that makes you call it a distant possibility? Is it just that you are unfamiliar with it or is there some specific OS level

Re: Analysis of D GC

2017-06-19 Thread safety0ff via Digitalmars-d
On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote: My take on D's GC problem, also spoiler - I'm going to build a new one soonish. http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html --- Dmitry Olshansky Good overview, however: the binary search pool lookup is

Re: Analysis of D GC

2017-06-19 Thread Nicholas Wilson via Digitalmars-d
On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote: My take on D's GC problem, also spoiler - I'm going to build a new one soonish. http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html --- Dmitry Olshansky if not a single pool is capable to service an allocation a

Re: Analysis of D GC

2017-06-19 Thread Vladimir Panteleev via Digitalmars-d
On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote: My take on D's GC problem, also spoiler - I'm going to build a new one soonish. Looks like I'm not the only one itching to have a go at D's GC :) This will very likely be my DConf 2018 project. However, I have slightly

Re: Analysis of D GC

2017-06-19 Thread H. S. Teoh via Digitalmars-d
On Mon, Jun 19, 2017 at 10:35:42PM +, Dmitry Olshansky via Digitalmars-d wrote: > My take on D's GC problem, also spoiler - I'm going to build a new one > soonish. > > http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html [...] Very interesting indeed! One question about killing

Re: Analysis of D GC

2017-06-19 Thread Ali Çehreli via Digitalmars-d
On 06/19/2017 03:35 PM, Dmitry Olshansky wrote: My take on D's GC problem, also spoiler - I'm going to build a new one soonish. http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html --- Dmitry Olshansky Very informative, thanks. However, I can think of many reasons like

Re: Analysis of D GC

2017-06-19 Thread Adam D. Ruppe via Digitalmars-d
What is it about Windows that makes you call it a distant possibility? Is it just that you are unfamiliar with it or is there some specific OS level feature you plan on needing?

Analysis of D GC

2017-06-19 Thread Dmitry Olshansky via Digitalmars-d
My take on D's GC problem, also spoiler - I'm going to build a new one soonish. http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html --- Dmitry Olshansky