TODO revision 256281
1189765Sgabor 2189765SgaborXZ Utils To-Do List 3189765Sgabor=================== 4189765Sgabor 5189765SgaborKnown bugs 6189765Sgabor---------- 7189765Sgabor 8189765Sgabor The test suite is too incomplete. 9189765Sgabor 10189765Sgabor If the memory usage limit is less than about 13 MiB, xz is unable to 11189765Sgabor automatically scale down the compression settings enough even though 12189765Sgabor it would be possible by switching from BT2/BT3/BT4 match finder to 13189765Sgabor HC3/HC4. 14189765Sgabor 15189765Sgabor The code to detect number of CPU cores doesn't count hyperthreading 16189765Sgabor as multiple cores. In context of xz, it probably should. 17189765Sgabor Hyperthreading is good at least with p7zip. 18189765Sgabor 19189765Sgabor XZ Utils compress some files significantly worse than LZMA Utils. 20189765Sgabor This is due to faster compression presets used by XZ Utils, and 21189765Sgabor can often be worked around by using "xz --extreme". With some files 22189765Sgabor --extreme isn't enough though: it's most likely with files that 23189765Sgabor compress extremely well, so going from compression ratio of 0.003 24189765Sgabor to 0.004 means big relative increase in the compressed file size. 25189765Sgabor 26189765Sgabor xz doesn't quote unprintable characters when it displays file names 27189765Sgabor given on the command line. 28189765Sgabor 29189765Sgabor tuklib_exit() doesn't block signals => EINTR is possible. 30189765Sgabor 31189765Sgabor SIGTSTP is not handled. If xz is stopped, the estimated remaining 32189765Sgabor time and calculated (de)compression speed won't make sense in the 33189765Sgabor progress indicator (xz --verbose). 34189765Sgabor 35189765Sgabor 36189765SgaborMissing features 37189765Sgabor---------------- 38189765Sgabor 39189765Sgabor xz doesn't support copying extended attributes, access control 40189765Sgabor lists etc. from source to target file. 41189765Sgabor 42189765Sgabor Multithreaded compression 43189765Sgabor 44189765Sgabor Multithreaded decompression 45189765Sgabor 46189765Sgabor Buffer-to-buffer coding could use less RAM (especially when 47189765Sgabor decompressing LZMA1 or LZMA2). 48189765Sgabor 49189765Sgabor I/O library is not implemented (similar to gzopen() in zlib). 50189765Sgabor It will be a separate library that supports uncompressed, .gz, 51189765Sgabor .bz2, .lzma, and .xz files. 52189765Sgabor 53189765Sgabor lzma_strerror() to convert lzma_ret to human readable form? 54189765Sgabor This is tricky, because the same error codes are used with 55189765Sgabor slightly different meanings, and this cannot be fixed anymore. 56189765Sgabor 57189765Sgabor 58189765SgaborDocumentation 59189765Sgabor------------- 60189765Sgabor 61189765Sgabor Some tutorial is needed for liblzma. I have planned to write some 62189765Sgabor extremely well commented example programs, which would work as 63189765Sgabor a tutorial. I suppose the Doxygen tags are quite OK as a quick 64189765Sgabor reference once one is familiar with the liblzma API. 65189765Sgabor 66189765Sgabor Document the LZMA1 and LZMA2 algorithms. 67189765Sgabor 68189765Sgabor