On 11/11/2015 12:13 PM, David Nadlinger wrote:
On Wednesday, 11 November 2015 at 15:07:15 UTC, Andrei Alexandrescu wrote:
Phobos takes about 600MB max to build.

When was the last time you did "dmd -unittest -main $(find std -name
'*.d')"? On current master, dmd takes just below 9 GiB to complete the
build.

"Then don't do that". Seriously, I agree reducing memory consumed is necessary but there are always extreme cases to construct.

Also, consider that many of the features in Phobos – apart from the
underlying molasses consisting of std.traits and friends – are not
really widely used internally. This is not surprising, considering that
large parts of std.* are mostly a grab-bag of orthogonal stuff, and the
unit tests are, as they should, fairly isolated. For example, how many
Phobos modules actually use std.regex internally, let alone its
compile-time variants (which we are quick to advertise)? What about
range "pipelines" longer than the one or two stages you'd typically
write in a unit test?

My perception is Phobos uses its own dog food intensively, which also leads to the criticisms that everything in Phobos depends on everything else. That said, clearly the library + unittests themselves are not a large project using the library.

Apologies for maybe being a bit too confrontational about this,

There is agreement that a problem exists. No need to get overly carried over this; I recall last time you got really upset, you said something that was so incredibly offensive, Walter and I had to hold a pow-wow and decide to simply ignore it and just give you time to calm down. There's no need or time for all that. We're on the same boat.

but I
don't think anybody is helped by dismissing entire classes of problems
just because they tend not to be so apparent from a library writer's
perspective. If you were to, say, visit the folks at Weka, you might be
surprised to see how easy it is to do the latter without even realizing so.

Agreed. Glad you're helping them out!


Andrei

Reply via email to