mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-20 05:28:04 +00:00
31 lines
1.4 KiB
Plaintext
31 lines
1.4 KiB
Plaintext
= 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.
|