After the latest Phobos update, I can't run the Phobos unittests
anymore; std.algorithm runs out of memory.

What do you guys think?  Since we have package.d support now, I think
it's about time we split std.algorithm up into smaller pieces. As a
first stab at it, we could split it up according to the categories
already outlined in the docs: searching, comparison, iteration, sorting,
set operations, mutation. So we'd have something like:

phobos/
phobos/std/
phobos/std/algorithm
phobos/std/algorithm/package.d
phobos/std/algorithm/search.d
phobos/std/algorithm/cmp.d
phobos/std/algorithm/iter.d
phobos/std/algorithm/sort.d
phobos/std/algorithm/set.d
phobos/std/algorithm/mutation.d

(Yes I know some of you are going to complain about the naming -- the
names are not important, we can squabble over that later; what's
important is that it's time to dissect that monster called
std.algorithm.)

In addition to alleviating OOM problems, we'd also alleviate compiler
memory usage issues when compiling std.algorithm. As well as code
maintainability issues (std.algorithm is just too unwieldy right now, to
the point I tend to write new algorithm additions in a completely
separate project until it's well-tested and ready, before I put it into
std.algorithm for integration testing; it's just too painful to have to
recompile the entire std.algorithm every single code iteration).  As
well as allowing multithreaded unittest runs (this may help the
autotesters do their thing faster?).


T

-- 
Dogs have owners ... cats have staff. -- Krista Casada

Reply via email to