summaryrefslogtreecommitdiff
path: root/doc/todo/parallel_possibilities.mdwn
blob: 15e5171ca30f52cafe141bc6bf41f49d06ad94bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
One of my reasons for using haskell was that it provides the possibility of
some parallell processing. Although since git-annex hits the filesystem
heavily and mostly runs other git commands, maybe not a whole lot.

Anyway, each git-annex command is broken down into a series of independant 
actions, which has some potential for parallelism.

Each action has 3 distinct phases, basically "check", "perform", and
"cleanup". The perform actions are not parellizable; the cleanup may be,
and the check should be easily parallelizable, although they may access the
disk or run minor git query commands, so would probably not want to run
too many of them at once.