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.

Reply via email to