Hi All,

Sorry it's so long ;P

While  testing  TB! with heavy number of imported EML messages I had a
few problems and thoughts. One of them is implementing a multicore use
while  making  backup.  At  the  moment TB! is using only 1 core while
making backup so it takes long time if TB!'s database is big.

Considering that only 1 core is used TB!'s results are quite good.
However,  it  might  be  reconsidered  to  use  an  advantage  of  the
multicores that are nowadays common :)

A  nice  feature  would  be  usage  of  GPU while compressing but it's
probably  too  early  at  the  moment  to  make it work. Works on that
subject are still in early stage.


TESTING
I   did  some testing on concerning LZMA2 algorythm (and some more for
comparision).   LZMA is available on GPL license and probably LZMA can
be implemented with usage of 7ZIP DLL file as well.


Database  size  was  1.27GB (tests made on X6 1090T OC ; password used
while compressing: jKojgrY8900)(75?.,<;"), results below
(time ; archive size ; RAM usage ; CPU usage ; compression type):

TB! Backup [1:30 ; 752.5MB ; 20MB ; 16-18% ; NA ]

RAR [4:27 ; 679.0MB ; 37MB ; 22-48% ; Normal]
RAR [4:21 ; 676.0MB ; 78MB ; 33-48% ; Best]
RAR [4:27 ; 679.0MB ; 37MB ; 27-53% ; Normal (Encrypted)]

7ZIP [0:31 ; 756.0MB ; 20MB ; 76-92% ; Fastest, LZMA2 (6 cores)]
7ZIP [0:44 ; 756.0MB ; 15MB ; 59-66% ; Fastest, LZMA2 (4 cores)]
7ZIP [1:03 ; 756.0MB ; 10MB ; 30-36% ; Fastest, LZMA2 (2 cores)]
7ZIP [2:07 ; 756.0MB ; 8MB ; 17-18%  ; Fastest, LZMA2 (1 core)]
7ZIP [2:13 ; 714.6MB ; 7MB ; 17%       ; Fastest, BZip2 (1 core)]

7ZIP [2:03 ; 603.7MB ; 828MB ; 74-92% ; Normal, LZMA2 (6 cores)]
7ZIP [1:03 ; 714.6MB ; 62MB ; 74-92%  ; Normal, BZip2 (6 cores)]
7ZIP [2:25 ; 607.0MB ; 550MB ; 59-66% ; Normal, LZMA2 (4 cores)]
7ZIP [4:23 ; 593.0MB ; 200MB ; 22-35% ; Normal, LZMA (2 cores)]
7ZIP [4:35 ; 593.0MB ; 200MB ; 26-35% ; Normal, LZMA (2 cores), Encrypted]

7ZIP [3:50 ; 574.4MB ; 2,93GB ; 76-96% ; Ultra, LZMA2 (6 cores)
7ZIP [4:21 ; 574.4MB ; 1.99GB ; 50-61% ; Ultra, LZMA2 (4 cores)]]
7ZIP [6:52 ; 574.4MB ; 700MB ; 29-50% ; Ultra, LZMA2 (2 cores)]
7ZIP [6:52 ; 573.0MB ; 700MB ; 24-31% ; Ultra, LZMA (2 cores)]


As you can see from above:
1) if for instance only 2 cores are used and Fastest LZMA2 algorith is
implemented a speed gain is about 30% with about the same file size. 

2)  if  Fastest compresion (LZMA2) is used on all cores (X6 here) time
is shorten to 31 seconds instead of 1m 30s (about same archive size).
(faster 70%)

3)   if  Normal  LZMA2  is selected on 4 cores (to leave 2 cores for a
system)  it's  only  about  1  minute longer (61% longer) than current
TB!'s solution but archive size is 20% smaller than current one.



EXAMPLE
As  for  the  database I got after importing all EML messages into TB!
(10.7GB - TB!'s backup file size):
- there would be a possibility to get a backup file 2.2GB smaller than
a current one (LZMA2, Ultra - but it would take 30-37min longer).
-  it  would be possible as well to get the same archive size in about
25-30min   if   only   4   cores  are  used  (15-18min on 6 cores :) )
instead of 50-60min in current solution.


IMPLEMENTATION
I  would  see  the implementation as an option in Backup menu allowing
the user to select backup type:
- current TB!'s solution,
- LZMA/LZMA2 implementation.

As  for  LZMA/LZMA2  in my opinion it would be good if user can assign
number  of  cores  and selection of compression method. User should be
given  estimated memory usage information as well - should apply to
users  that  would  like  to  use  better compression method (more RAM
needed - Ultra, LZMA2 needs 3GB RAM while compressing :) )


That   could  be  another feature that would make TB! a heavy duty and
better client :)

If you like the idea you might be willing to give your feedback:
https://www.ritlabs.com/bt/view.php?id=8708


SOME LINKS
http://www.7-cpu.com/
http://www.7-zip.org/sdk.html
http://www.7-zip.org/links.html
http://tukaani.org/lzma/

-- 
Best regards,
RS


________________________________________________________
 Current beta is 5.0.12.3 | 'Using TBBETA' information:
http://www.silverstones.com/thebat/TBUDLInfo.html

Reply via email to