aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/recover.txt
diff options
context:
space:
mode:
authorFelipe Oliveira Carvalho <felipekde@gmail.com>2016-03-09 19:34:28 -0300
committerFelipe Oliveira Carvalho <felipekde@gmail.com>2017-04-11 00:33:09 +0200
commit9ea111d1af6abcac361eece478fb7709e5264b82 (patch)
tree503cd8775e8f53a5ee5827258a1ad5e88c0c01d3 /runtime/doc/recover.txt
parentb99cac277812d337e8a5f1bc6a182e62f1e8c448 (diff)
downloadrneovim-9ea111d1af6abcac361eece478fb7709e5264b82.tar.gz
rneovim-9ea111d1af6abcac361eece478fb7709e5264b82.tar.bz2
rneovim-9ea111d1af6abcac361eece478fb7709e5264b82.zip
Remove maxmem and maxmemtot options
> The option 'maxmem' ('mm') is used to set the maximum memory used for one > buffer (in kilobytes). 'maxmemtot' is used to set the maximum memory used for > all buffers (in kilobytes). The defaults depend on the system used. These > are not hard limits, but tell Vim when to move text into a swap file. If you > don't like Vim to swap to a file, set 'maxmem' and 'maxmemtot' to a very large > value. The swap file will then only be used for recovery. If you don't want > a swap file at all, set 'updatecount' to 0, or use the "-n" argument when > starting Vim. On today's systems these values are huge (4GB in my machine with 8GB of RAM since it's set as half the available memory by default) so the limits are never reached in practice, but Vim wastes a lot of time checking if the limit was reached. If the limit is reached Vim starts saving pieces of the swap file that were in memory to the disk. Said in a different way: Vim implements its own memory swapping mechanism. This is unnecessary and inefficient since the operating system already virtualized the memory and will swap to the disk if programs start using too much memory. This change does... 1. Reduce the number of config options and need for documentation. 2. Make the code more efficient as we don't have to keep track of memory usage nor check if the memory limits were reached to start swapping to disk every time we need memory for buffers. 3. Simplify the code. Once `memfile.c` is simple enough it could be replaced by actual operating system memory mapping (`mmap`, `MemoryViewOfFile`...). This change does not prevent Vim to recover changes from swap files since the swapping code is never triggered with the huge limits set by default.
Diffstat (limited to 'runtime/doc/recover.txt')
-rw-r--r--runtime/doc/recover.txt6
1 files changed, 2 insertions, 4 deletions
diff --git a/runtime/doc/recover.txt b/runtime/doc/recover.txt
index 8eded487c0..eba5f162de 100644
--- a/runtime/doc/recover.txt
+++ b/runtime/doc/recover.txt
@@ -64,10 +64,8 @@ following ones in your vimrc:
This is also very handy when editing files on floppy. Of course you will have
to create that "tmp" directory for this to work!
-For read-only files, a swap file is not used. Unless the file is big, causing
-the amount of memory used to be higher than given with 'maxmem' or
-'maxmemtot'. And when making a change to a read-only file, the swap file is
-created anyway.
+For read-only files, a swap file is not used right away. The swap file is
+created only when making changes.
The 'swapfile' option can be reset to avoid creating a swapfile. And the
|:noswapfile| modifier can be used to not create a swapfile for a new buffer.