4
User thought is most expensive. User time spent waiting is next.
5
Developer time for the version control system is also relatively
8
Machine resources are cheap. In particular; disk is generally very
9
cheap; an ordinary programmer earns enough to buy hundreds of GB of
10
disk per day. However, it is sometimes limited, as on a laptop.
11
Therefore it is generally OK to trade off disk space for anything
12
else, but it should be possible to be compact.
14
Network round trips are very bad.
16
Consider scalability also; avoid anything worse than O(n). Try to
17
avoid anything that needs e.g. to hold the whole tree in memory at any
18
time, or to hold the entire history of the project.