There are repeated calls to proc.core/srcs+, defined in the bindings for filterf# etc. inside proc.core/only-srcs. This likely causes significant performance implications, since we touch the disk (in srcs+) via spork.util.table/tabdelimited->records, and recompute the same set for every record.....
Quick fix: lift the computed sets out into additional binds in the lexical scope, substitute bound vars for original computations. This should cache the set, only touch disk once, and generally be much faster....
There are repeated calls to proc.core/srcs+, defined in the bindings for filterf# etc. inside proc.core/only-srcs. This likely causes significant performance implications, since we touch the disk (in srcs+) via spork.util.table/tabdelimited->records, and recompute the same set for every record.....
Quick fix: lift the computed sets out into additional binds in the lexical scope, substitute bound vars for original computations. This should cache the set, only touch disk once, and generally be much faster....