Rings Archiver v.2.1 (Last release)
Archiver is a file, today something with DOS interface with great performance in the compression of text, images, but also of other types of files. BWT uses a compression method with arithmetic coding. Maintains a good compression rate in relation to the weight of the compressed file. With version 2.0 you have reached the stability of the core.
Download only from:
http://heartofcomp.altervista.org/index.htm
Last edited by Nania Francesco; 28th May 2015 at 20:59.
Bulat Ziganshin (11th July 2013),encode (11th July 2013),Matt Mahoney (11th July 2013)
Updated LTCB. http://mattmahoney.net/dc/text.html#1854
Compression is improved over rings 1.6. Multi-threading on a 2 core machine is not faster than using 1 thread. It looks like zcm that there is a third process (seen on Windows Task Manager) I guess polling the other two that uses a significant amount of kernel CPU time and slows down the compression tasks.
Ideally, process time would be close to 200%.Code:C:\res>timer rings a -m7 -t2 enwik9.rings enwik9 Timer 3.01 Copyright (c) 2002-2003 Igor Pavlov 2003年07月10日 Rings BWT Archiver v.2.0 copyright (C) 2007-2013 By Nania Francesco Antonio Demo Version multiprocess compression use 2 task Archive is C:\res\enwik9.rings close task's active Compressed 1000000000 bytes to 185258194 bytes Kernel Time = 277.026 = 00:04:37.026 = 69% User Time = 55.255 = 00:00:55.255 = 13% Process Time = 332.282 = 00:05:32.282 = 83% Global Time = 398.504 = 00:06:38.504 = 100% C:\res>timer rings x -t2 enwik9.rings Timer 3.01 Copyright (c) 2002-2003 Igor Pavlov 2003年07月10日 Rings BWT Archiver v.2.0 copyright (C) 2007-2013 By Nania Francesco Antonio Demo Version multiprocess etraction use 2 task ARGV=* Archive=C:\res\enwik9.rings Wild=* DEST=C:\res\ Decompression verify OK! Kernel Time = 167.482 = 00:02:47.482 = 74% User Time = 31.715 = 00:00:31.715 = 14% Process Time = 199.197 = 00:03:19.197 = 89% Global Time = 223.347 = 00:03:43.347 = 100%
Nania Francesco (11th July 2013)
RINGS
Released version 2.1
News:
- new compression core !
- better compression !
Download only from:
http://heartofcomp.altervista.org/index.htm
@Matt
Please if possible test ZCM in LTCB and 10GB Benchmark's
not works on win32...
enwik9 on 4.36 MHz i4790K, win64:
Compression (rings a -m7 enwik9.rings enwik9):
1,000,000,000 bytes -> 183,891,457 bytes in 116.587 seconds, 645 MB RAM
Decompression (rings x enwik9.rings enwik9):
111.598 seconds, 774 MB RAM
file verifies
or
Compression (rings a -m7 -t8 enwik9.rings enwik9)
1,000,000,000 bytes -> 182,410,270 bytes in 34.924 seconds, 16 MB RAM (according to timer64, seems wrong)
Decompression (rings x enwik9.rings enwik9):
33.987 seconds, 10 MB RAM (also seems wrong on RAM)
file verifies
RAM usage is more like 4 GB according to task manager for the -t8 option. It seems odd that -t8 gives better compression than the default. Compression speed is quite good for the compression ratio.
Last edited by Kennon Conrad; 24th May 2015 at 11:05.
Very nice compression on m7, one process!
What's the difference between m0-7 on multiprocess compression and one process? It doesn't seem to affect memory use when multi processed.
And what method does rings use (libdivsufsort or your own sort / multiple sorted blocks, arithmetic coding, or what next)? Although it seem decompression is quite slow, including data verification, compared to compression.
(Tested on Aspire One Intel(R) Atom(TM) CPU N2600 @ 1.60GHz, 2 cores Ubuntu 64-bit )
Just curious, what does this command do?Single process compression (m7)
wine rings.exe a -m7 enwik8.rin enwik8
Compressed 100000000 bytes to 20967373 bytes
C.Time: 96.69 s user, 1.66 s system, 1:56.23 total; Used 84% CPU, memory: 506208 kB
wine rings.exe x -t4 enwik8.rin out
D.Time: 202.28 s user, 181.67 s system, 7:50.46 total; Used 81% CPU, memory: 9496 kB
Multi process compression (m0)
wine rings.exe a -t4 -m0 enwik8.rin enwik8
Compressed 100000000 bytes to 26769217 bytes
C.Time: 13.64 s user, 11.86 s system, 0:35.51 total; Used 71% CPU, memory: 12648 kB
wine rings.exe x -t4 enwik8.rin out
D.Time: 176.34 s user, 153.21 s system, 7:12.07 total; Used 76% CPU, memory: 9496 kB
Multi process compression (m7)
wine rings.exe a -t4 -m7 enwik8.rin enwik8
Compressed 100000000 bytes to 22474480 bytes
C.Time: 18.35 s user, 16.11 s system, 0:48.32 total; Used 71% CPU, memory: 12648 kB
wine rings.exe x -t4 enwik8.rin out
D.Time: 235.45 s user, 202.06 s system, 9:41.97 total; Used 75% CPU, memory: 9496 kB
rings.exe a -t4 -m0 enwik8.rin
I omitted infile on already existing archive of enwik8, one file and it said: Compressed 386457839 bytes to 386477091 bytes.
Last edited by quadro; 24th May 2015 at 12:59.
Rings x86 version is online for download !
only from:
http://heartofcomp.altervista.org/index.htm (Update index page)
xezz (25th May 2015)
@Matt
Please if possible test ZCM in LTCB and 10GB Benchmark's
Rings is 4193 MB on system 4 (x64 version in Wine). http://mattmahoney.net/dc/10gb.html
Nania Francesco (28th May 2015)
Thanks but LCTB result of version 2.1?
Moves up 1 place :)
http://mattmahoney.net/dc/text.html#1841
Nania Francesco (29th May 2015)
RINGS
Released version 2.2 (require libgomp-1.dll or libgomp_64-1.dll )
News:
- new compression core !
- more faster!
- extended number of active task to 99 !
- better compression !
- added option -o (enable multithreading only for compression)
Download only from:
http://heartofcomp.altervista.org/index.htm
@Matt
Please if possible test RINGS v.2.2 option -o -m7 (not -t1) in LTCB
Last edited by Nania Francesco; 29th May 2015 at 01:45.
Moves up another spot. But compression is a little slower even with multithreading. enwik9 compression time: real 3:22, user 4:30, sys 0:01.
http://mattmahoney.net/dc/text.html#1838
Nania Francesco (29th May 2015)
Rings archiver 2.2 use openmp 4.0.
I think it works quite well with at least four cores!
rings 2.2 improves on 10gb slightly but compresses slower even with -o. Decompression is faster. http://mattmahoney.net/dc/10gb.html (system 4).
RINGS
Released version 2.5 (removed support for gomp)
News:
- added new LZP preprocessor!
- added option -m8 only for x64 version !
- better compression !!
Download only from:
http://heartofcomp.altervista.org/index.htm
@Matt
Please if possible test RINGS v.2.5
RINGS vs Nanozip option -co in WCC Benchmark
20 Rings v.2.5 [Nania Francesco,ITA] 1313114680 707.34 418.38 75159 65913 70536 a -r -s -m7
22 Nanozip v.0.09a[Sami Runsas,FIN] 1317872543 679.82 188.38 74469 58743 66606 a -r -co -m512m
Rings -m7 uses 1416 MB of memory.
Something tells me that 1416 is not equal to 512.
While testing rings v2.0, v2.1, v2.2 and v2.5 they all display filesize of input wrong
testfile = 2015年06月08日 12:02 2156798764 xls.zip
Rings Archiver v.2.5. Demo version.
Copyright (C) 2007-2015 By Nania Francesco Antonio
Archive is E:\X\xls.zip.rings25
Compressed -2138168532 bytes to 56568057 bytes
edit: v2.5 extracted and compared with original without errors
Last edited by a902cd23; 8th June 2015 at 15:24.
Huge improvement :)
http://mattmahoney.net/dc/10gb.html
http://mattmahoney.net/dc/text.htmlCode:Size Compress Extract Sys Program version Options ---------- -------- -------- --- --------------- -------- 3013933248 2018 1122 4 rings 2.5 -m8 -t1 -r -s 4190018637 2634 1292 4 rings 2.2 -m7 -o -r -s 4193774664 1970 1409 4 rings 2.1 -m7 -t1 -r -s
Code:Compression Compressed size Decompresser Total size Time (ns/byte) Program Options enwik8 enwik9 size (zip) enwik9+prog Comp Decomp Mem Alg Note ------- ------- ---------- ----------- ----------- ----------- ----- ----- --- --- ---- rings 2.1 -m7 -t1 20,967,373 183,891,457 230,702 x 184,122,159 195 188 1859 BWT 48 rings 2.2 -m7 -o 20,938,029 183,531,002 341,445 x 183,872,447 202 179 1859 BWT 48 rings 2.5 -m8 -t1 20,873,959 178,747,360 240,523 x 178,987,883 280 163 2518 BWT 48
Nania Francesco (9th June 2015)
Are you going to release the source code?
Last edited by just a worm; 10th June 2015 at 18:36.
I don't know honestly. If you understand that no longer can be improved perhaps!Are you going to release the source code?
Last edited by Nania Francesco; 10th June 2015 at 23:23.
Well maybe the speed or the memory consumption of the sorting of the BWT can be improved. Perhaps others can learn from your source code (my initial hope).
Trying to compress an AVI (XviD) of 367 089 664 bytes "z:\p\rings25.exe a -m8" and -m7 crashed. -m6 did work fine.
Memory shown in taskmgr 1.055.624kB and virtual mem 2.893.884kB right before I closed window showing crash message.
Rings 20, 21, and 22 worked fine with -m7.
edit: tried all m1 m2 m3 m4 m5 m6 m7 m8 again and only m7 and m8 crashed, m1-m6 matched crc32 after extraction.
Last edited by a902cd23; 25th June 2015 at 15:11.