--- /dev/null
+= Performance =
+
+== performance issues with mutable files ==
+
+Tahoe-LAFS can create mutable files of arbitrary size. There are good
+reasons to not overuse these.
+
+When you first create a mutable file, Tahoe-LAFS generates an RSA
+keypair to associate with the file. This takes about a second on an
+ordinary desktop PC (and possibly considerably longer on specialized or
+embedded hardware). The cost of key generation is probably irrelevant if
+you only use a few mutable files, but can quickly add up if you want to
+create a lot of them.
+
+Part of the process of encrypting, encoding, and uploading a mutable
+file to a Tahoe-LAFS grid requires that the entire file be loaded into
+memory at once. For larger files, this may cause Tahoe-LAFS to have an
+unacceptably large memory footprint (at least when uploading your
+mutable file).
+
+As currently implemented, small modifications to mutable files are no
+less expensive than large modifications; in both cases, the process
+described above (with the performance concerns described above) must be
+repeated for the entire file.
+
+We are exploring ways to address at least some of these problems. In the
+meantime, however, it is a good practice to not overuse mutable files,
+and to not create exceptionally large mutable files. For more
+information on how mutable files are currently implemented, see the
+mutable file specification, in docs/specifications/mutable.txt.