From 26c6b806d7922da16101d570d26f5b0e06a8f137 Mon Sep 17 00:00:00 2001 From: Kevan Carstensen Date: Fri, 15 Jan 2010 12:45:00 -0800 Subject: [PATCH] Add 'docs/performance.txt', which (for the moment) describes mutable file performance issues --- docs/performance.txt | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 docs/performance.txt diff --git a/docs/performance.txt b/docs/performance.txt new file mode 100644 index 00000000..76cf1f8e --- /dev/null +++ b/docs/performance.txt @@ -0,0 +1,30 @@ += 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. -- 2.45.2