-
Couldn't load subscription status.
- Fork 3
Open
Description
Currently each rule is loaded sequentially during compilation, which takes a long time. The rules could be loaded independently in parallel, and then merged into a combined list afterwards: Map then reduce. The key is avoiding global state---pure functions only.
Conceptually:
load_rule(path) = [evaluate(read(path))]
load_rules(paths) = parallel_mapreduce(load_rule, vcat, paths)
all_rules = load_rules(PATHS)This could probably be done in threads, or by splitting off the files into separate extension packages and letting Pkg.jl take care of parallelizing across them.
Metadata
Metadata
Assignees
Labels
No labels