I bumped ASDF to 3.1.7.1 after I fixed a performance bug in directory-files that made it quadratic instead of linear, due to some remove-duplicates used for logical-pathnames. The fix was to only use this quadratic behavior for LPNs. If you use LPNs, you deserve to lose on large directories. LPNs are for legacy Lisp code with relatively few files, only.
If you mean that REMOVE-DUPLICATES is quadratic, then it's bad in itself (we know better algorithms for linear REMOVE-DUPLICATES);
It's quadratic when used with a test that isn't one of the few for which the implementation knows a compatible hash function.
UIOP is the wrong place to implement a new hash-table implementation based on a new hash-function just for pathname-equal, then reimplement remove-duplicates on top of that. And for portability reasons, I can't just replace pathname-equal by normalization then using equal, or by using namestrings instead of pathnames, etc.
There's no reason to disparage logical pathnames, they're very nice.
In the abstract, the idea sounds vaguely nice, but the specification is a disaster, and so are its many incompatible implentations. As for using DIRECTORY with it... ouch ouch ouch.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org I have never let my schooling interfere with my education. — Mark Twain