Re: Dgame 0.3.2

2014-11-21 Thread uri via Digitalmars-d-announce

On Saturday, 22 February 2014 at 10:00:46 UTC, Namespace wrote:
On a side note, the author in the code is Stewart but it is 
still me :). It is my middle name, which the auto-header vim 
script grabs from the login.
Yes that I have also seen. Otherwise, I would have used your 
github name. :)

Cheers,
ed (stewart)


I just saw it up on the website, very cool, thanks :)
I have to thank. Another game looks great on the page and it's 
nice to see that Dgame is used.



The Dgame website has been down for a while now ... is it coming 
back?


/uri


Re: gchunt v0.1.0 is out!

2014-11-21 Thread Dmitry Olshansky via Digitalmars-d-announce

21-Nov-2014 05:18, Piotr Szturmaj пишет:

W dniu 2014-11-11 o 23:38, Dmitry Olshansky pisze:

gchunt is a tool is to help D developers identify and keep in check the
usage of GC in their projects.

So far it just postprocesses D compiler's -vgc output into a nice Wiki
table. Results looks like this (Phobos):
http://wiki.dlang.org/Stuff_in_Phobos_That_Generates_Garbage#Labeled_data


Nice :)

I think I found a -vgc bug:
https://github.com/D-Programming-Language/phobos/blob/271c771a57764dcc511ca12ae91d490872d9b500/std/array.d#L419
- this line doesn't allocate, unlike the one below.



Can you reduce and file it? Thanks!

--
Dmitry Olshansky


Re: On the meaning of string.length

2014-11-21 Thread Dmitry Olshansky via Digitalmars-d-announce

20-Nov-2014 16:50, Adam D. Ruppe пишет:

On Wednesday, 19 November 2014 at 21:00:50 UTC, Ary Borenszweig wrote:

In Ruby `length` returns the number of unicode characters


What is a unicode character? Even in utf-32, one printed character might
be made up of two unicode code points. Or sometimes, two printed
characters might come from a single code point.


Perl goes for grapheme cluster as character. I'd say that's probably the 
closest thing to it.


Sadly being systems language we can't go so far as to create a per 
process table of cached graphemes, and then use index in that table as 
"character" ;)


--
Dmitry Olshansky


Re: Visual Studio Community and .NET Open Source

2014-11-21 Thread Paulo Pinto via Digitalmars-d-announce

On Friday, 21 November 2014 at 08:02:07 UTC, philippecp wrote:
.Net does have a pretty damn good GC. It is both a moving 
garbage

collector (improves locality, reduces heap fragmentation and
allows for memory allocation to be a single pointer operation)
and a generational garbage collector (reduces garbage collection
cost by leveraging heuristic that most collected objects are
usually very young). I believe their server GC is even 
concurrent

to avoid long stop the world pauses.

The problem is I'm not sure how much of those principles can be
applied to D. I can see moving objects being problematic given
that D supports unions. Another thing to consider is that .Net's
GC is the results of many man years of full time work on a 
single

platform, while D is mostly done by volunteers in their spare
time for many platforms. It would probably require a lot of work
to port, unless you're volunteering yourself for that work;)

...



The official .NET runs on x86, x64, ARM (including cortex 
variants), MIPS.


It scales from embedded hardware running with 512KB of flash and 
128KB of RAM (http://www.netmf.com/get-started/), all the way up 
to Azure deployments.


http://www.microsoft.com/net/multiple-platform-support

--
Paulo


Re: Visual Studio Community and .NET Open Source

2014-11-21 Thread via Digitalmars-d-announce

On Friday, 21 November 2014 at 08:02:07 UTC, philippecp wrote:

The problem is I'm not sure how much of those principles can be
applied to D. I can see moving objects being problematic given
that D supports unions.


Unions make up only a small percentage of all objects; a mostly 
precise GC can be enough. It cannot be fully precise anyway, 
because of C code (addRoot), and the stack, which is hard to make 
precise.


On a related note, I've wondered for a long time why D's GC 
isn't

generational and why there's all this discussion on making it
concurrent and none on making it generational. It seems to me
that making it generational is simpler than making it concurrent
and provides a net win in overall performance while concurrent
only provides a win for real time systems that can't afford long
GC cycles.


There is some work. For example, Rainer Schuetze presented a 
precise GC at Dconf, which is a requirement for that. See also 
this post by deadalnix, who proposes separating the global 
heap(s) from the thread-local ones:

http://forum.dlang.org/thread/kpgilxyyrrluxpepe...@forum.dlang.org


Re: Visual Studio Community and .NET Open Source

2014-11-21 Thread philippecp via Digitalmars-d-announce

.Net does have a pretty damn good GC. It is both a moving garbage
collector (improves locality, reduces heap fragmentation and
allows for memory allocation to be a single pointer operation)
and a generational garbage collector (reduces garbage collection
cost by leveraging heuristic that most collected objects are
usually very young). I believe their server GC is even concurrent
to avoid long stop the world pauses.

The problem is I'm not sure how much of those principles can be
applied to D. I can see moving objects being problematic given
that D supports unions. Another thing to consider is that .Net's
GC is the results of many man years of full time work on a single
platform, while D is mostly done by volunteers in their spare
time for many platforms. It would probably require a lot of work
to port, unless you're volunteering yourself for that work;)

On a related note, I've wondered for a long time why D's GC isn't
generational and why there's all this discussion on making it
concurrent and none on making it generational. It seems to me
that making it generational is simpler than making it concurrent
and provides a net win in overall performance while concurrent
only provides a win for real time systems that can't afford long
GC cycles.