TODO revision 215187
1207753Smm 2207753SmmXZ Utils To-Do List 3207753Smm=================== 4207753Smm 5207753SmmKnown bugs 6207753Smm---------- 7207753Smm 8207753Smm The test suite is too incomplete. 9207753Smm 10207753Smm If the memory usage limit is less than about 13 MiB, xz is unable to 11207753Smm automatically scale down the compression settings enough even though 12207753Smm it would be possible by switching from BT2/BT3/BT4 match finder to 13207753Smm HC3/HC4. 14207753Smm 15207753Smm The code to detect number of CPU cores doesn't count hyperthreading 16207753Smm as multiple cores. In context of xz, it probably should. 17207753Smm Hyperthreading is good at least with p7zip. 18207753Smm 19207753Smm XZ Utils compress some files significantly worse than LZMA Utils. 20207753Smm This is due to faster compression presets used by XZ Utils, and 21215187Smm can often be worked around by using "xz --extreme". With some files 22215187Smm --extreme isn't enough though: it's most likely with files that 23215187Smm compress extremely well, so going from compression ratio of 0.003 24215187Smm to 0.004 means big relative increase in the compressed file size. 25207753Smm 26207753Smm xz doesn't quote unprintable characters when it displays file names 27207753Smm given on the command line. 28207753Smm 29207753Smm tuklib_exit() doesn't block signals => EINTR is possible. 30207753Smm 31215187Smm SIGTSTP is not handled. If xz is stopped, the estimated remaining 32215187Smm time and calculated (de)compression speed won't make sense in the 33215187Smm progress indicator (xz --verbose). 34207753Smm 35215187Smm 36207753SmmMissing features 37207753Smm---------------- 38207753Smm 39207753Smm xz doesn't support copying extended attributes, access control 40207753Smm lists etc. from source to target file. 41207753Smm 42207753Smm Multithreaded compression 43207753Smm 44207753Smm Multithreaded decompression 45207753Smm 46207753Smm Buffer-to-buffer coding could use less RAM (especially when 47207753Smm decompressing LZMA1 or LZMA2). 48207753Smm 49215187Smm I/O library is not implemented (similar to gzopen() in zlib). 50215187Smm It will be a separate library that supports uncompressed, .gz, 51215187Smm .bz2, .lzma, and .xz files. 52207753Smm 53207753Smm lzma_strerror() to convert lzma_ret to human readable form? 54207753Smm This is tricky, because the same error codes are used with 55215187Smm slightly different meanings, and this cannot be fixed anymore. 56207753Smm 57207753Smm 58207753SmmDocumentation 59207753Smm------------- 60207753Smm 61207753Smm Some tutorial is needed for liblzma. I have planned to write some 62207753Smm extremely well commented example programs, which would work as 63207753Smm a tutorial. I suppose the Doxygen tags are quite OK as a quick 64207753Smm reference once one is familiar with the liblzma API. 65207753Smm 66207753Smm Document the LZMA1 and LZMA2 algorithms. 67207753Smm 68