From 231b791da156a07a30e9bb5197390e62507ca2cb Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Mon, 13 Aug 2012 11:12:15 -0700 Subject: [PATCH] vocabs.hierarchy: much faster using directory entries. --- basis/vocabs/hierarchy/hierarchy.factor | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/basis/vocabs/hierarchy/hierarchy.factor b/basis/vocabs/hierarchy/hierarchy.factor index 0a5de9b4e2..e960a0c4dc 100644 --- a/basis/vocabs/hierarchy/hierarchy.factor +++ b/basis/vocabs/hierarchy/hierarchy.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2007, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: accessors arrays assocs combinators.short-circuit fry -io.directories io.files io.files.info io.pathnames kernel make +io.directories io.files io.files.types io.pathnames kernel make memoize namespaces sequences sorting splitting vocabs sets vocabs.loader vocabs.metadata vocabs.errors ; RENAME: child-vocabs vocabs => vocabs:child-vocabs @@ -18,9 +18,12 @@ M: vocab-prefix vocab-name name>> ; : vocab-subdirs ( dir -- dirs ) [ [ - { [ link-info directory? ] [ "." head? not ] } 1&& - ] filter - ] with-directory-files natural-sort ; + { + [ type>> +directory+ = ] + [ name>> "." head? not ] + } 1&& + ] filter [ name>> ] map! + ] with-directory-entries natural-sort ; : vocab-dir? ( root name -- ? ) over