On the performance of building D programs

Andrej Mitrovic andrej.mitrovich at gmail.com
Sat Apr 6 10:14:35 PDT 2013


On 4/5/13, Vladimir Panteleev <vladimir at thecybershadow.net> wrote:
> I noticed that compiling D programs in the usual manner (rdmd) is
> as much as 40% slower than it can be.

I've implemented the -rb and -rx switchex (the -r switch itself is
taken, it's an undocumented switch). These switches are used to enable
recursive builds and to exclude modules/packages, respectively[1]. The
-rx switch can take a module name or a wildcard option, e.g. -rxfoo.*
to exclude all modules from the package "foo".

I'm seeing about 30% faster clean builds when using DMD with this
feature compared to using RDMD. But I've only tested this on smaller
projects, I wonder what the impact is on larger projects.

The std and core packages, and the object module are implicitly
excluded from building.

[1] : https://github.com/AndrejMitrovic/dmd/tree/BuildRecurse


More information about the Digitalmars-d mailing list