]> icculus.org git repositories - icculus/xz.git/blob - TODO
"make dist" fixes
[icculus/xz.git] / TODO
1
2 XZ Utils To-Do List
3 ===================
4
5 Known bugs
6 ----------
7
8     The test suite is too incomplete.
9
10     If the memor usage limit is less than about 13 MiB, xz is unable to
11     automatically scale down the compression settings enough even though
12     it would be  possible by switching from BT2/BT3/BT4 match finder to
13     HC3/HC4.
14
15     The code to detect number of CPU cores doesn't count hyperthreading
16     as multiple cores. In context of xz, it probably should.
17     Hyperthreading is good at least with p7zip.
18
19     XZ Utils compress some files significantly worse than LZMA Utils.
20     This is due to faster compression presets used by XZ Utils, and
21     can be worked around by using "xz --extreme". However, the presets
22     need some tweaking and maybe this issue can be minimized without
23     making the typical case too much slower.
24
25
26 Missing features
27 ----------------
28
29     "xz --list"
30
31     xz could create sparse files when decompressing. (Some prototyping
32     has been done.)
33
34     xz doesn't support copying extended attributes, access control
35     lists etc. from source to target file.
36
37     Multithreaded compression
38
39     Multithreaded decompression
40
41     Buffer-to-buffer coding could use less RAM (especially when
42     decompressing LZMA1 or LZMA2).
43
44     I/O library is not implemented. It will possibly be named libzzf.
45
46
47 Documentation
48 -------------
49
50     Some tutorial is needed for liblzma. I have planned to write some
51     extremely well commented example programs, which would work as
52     a tutorial. I suppose the Doxygen tags are quite OK as a quick
53     reference once one is familiar with the liblzma API.
54
55     Document the LZMA1 and LZMA2 algorithms.
56