Switch -QO[-|+] - add quick open information [none|force]


RAR archives store every file header containing information such as file name, time, size and attributes immediately before data of described file. This approach is more damage resistant than storing all file headers in a single continuous block, which if broken or truncated would destroy the entire archive contents. But while being more reliable, such file headers scattered around the entire archive are slower to access if we need to quickly open the archive contents in a shell like WinRAR graphical interface.

To improve archive open speed and still not make the entire archive dependent on a single damaged block, RAR 5.0 archives can include an optional quick open record. Such record is added to the end of archive and contains copies of file names and other file information stored in a single continuous block additionaly to normal file headers inside of archive. Since the block is continuous, its contents can be read quickly, without necessity to perform a lot of disk seek operations. Every file header in this block is protected with a checksum. If WinRAR detects that quick open information is damaged, it resorts to reading individual headers from inside of archive, so damage resistance is not lessened.

Quick open record contains the full copy of file header, which may be several tens or hundreds of bytes per file, increasing the archive size by the same amount. This size increase is most noticeable for many small files, when file data size is comparable to file header. So by default, if no -qo is specified or -qo without parameter is used, WinRAR stores copies of headers only for relatively large files and continues to use local headers for smaller files. Concrete file size threshold can depend on WinRAR version. Such approach provides a reasonable open speed to archive size tradeoff. If you prefer to have the maximum archive open speed regardless of size, you can use -qo+ to store copies of all file headers. If you need to have the smallest possible archive and do not care about archive open speed in different programs, specify -qo- to exclude the quick open information completely.

If you wish to measure the performance effect of this switch, be sure that archive contents is not stored in a disk cache. No real disk seeks are performed for cached archive file, making access to file headers fast even without quick open record.

This switch is the command line equivalent of Quick open information group of options in "Archive name and parameters" dialog.




Posted on line by http://winrar-france.com