reducecombine / fridge

Ideas for awesomer Clojure development
0 stars 0 forks source link

Parallel t.n.r/refresh #5

Open vemv opened 5 years ago

vemv commented 5 years ago

Problem

Consequently, large projects will have a slow refresh time, as its cost scales linerarly.

Solution

It might be possible to implement a parallel refresh, on top of the t.n library.

Considerations

Example

For a project with 4 namespaces:


(ns foo)

(ns depends-on-foo
  (:require
   [foo]))

(ns bar)

(ns depends-on-bar
  (:require
   [bar]))

There are two 'islands':

So, each island can be loaded from a separate thread.

Note, as per t.n's tracker, maybe only e.g. bar should be reloaded. So one doesn't blindly reload islands: one composes them with the tracker.