krc - keyword recursive compressor build (brute force) during compression dynamic a keyword dictionary with all possible 2 till 16 bytes keywords and replace each keyword by a unique value starting with the most profitable keyword to replace. This process is repeated after every keyword is replaced till no new keywords profitable to replace are found. The encoded data left, keyword dictionary and values and/or skipped values are stored. To avoid out of memory during keyword dictionary build up, the less profitable keywords are removed when 5 million keywords are reached. By decompression the encoded data left, keyword dictionary and values are read in memory, the values in the encoded data left are replaced backwards with the matching keywords.
Because after every keyword replace build up a new keyword dictionary is extreme slow, I added 5 compression levels, where level 5 build a keyword dictionary after every replace and level 4 after 10 replaces and level 3 after 100 replaces etc. till level 1 the quickest. For level 5 only it's possible to add the keyword dictionary to the encoded data after every two replaces with option 5d, what makes it slower but give better results.
It run under Windows GUI and command line, mode 32 and 64-bit and need Framework 4.5 or higher.
Compression is round ARJ default, speed is still very slow, so test only small files, compression level 5d - 0.5 KB/s, 5 - 0.5 KB/s, 4 - 3 KB/s, 3 - 8 KB/s, 2 - 15 KB/s, 1 - 23 KB/s, decompression: 670 KB/s. Memory usage is round two times input file size.
krc e 1 in out (1 can be also 2, 3, 4, 5 or 5d as compression level)
krc d in out