Splitting std.algorithm

Zach the Mystic via Digitalmars-d digitalmars-d at puremagic.com
Thu Jan 22 10:04:32 PST 2015


On Thursday, 22 January 2015 at 12:04:43 UTC, Steven 
Schveighoffer wrote:
> It's not just old PCs. I had to up my vmware linux image's 
> memory from 1GB to 2GB just to compile the default vibe.d 
> program. This is unacceptable. I rent a VPS with minimum 
> memory, and I have to compile vibe.d locally because any 
> compiling of it on that system will crash the server.
>
> Fast compilation is great to a point, but if your system can't 
> even compile, time taken goes to infinity. I think there has 
> been too much emphasis on dmd compilation speed.
>
> -Steve

Sometimes it seems to me that condensing some of dmd's data 
structures could be an overall win. I guess the downside would be 
that it makes reading dmd's code harder. For example, a Loc has a 
pointer to a file string, a line number and a character position 
number. On a 64-bit program, that's the same 64-bit pointer over 
and over for every token. It could instead be a 32-bit unique 
integer bumped up at every new Loc, pointing to a binary tree 
which calculates the file string as the greatest position <= the 
current Loc number.

Also, packing some of the booleans and small integers more 
tightly, of course. I dunno, might be too hard to do when so many 
data structures are in flux and negatively affects code 
readability.


More information about the Digitalmars-d mailing list