RamiroCruzo / freearc

Automatically exported from code.google.com/p/freearc
0 stars 0 forks source link

Optimize Recompression to not process every "non changed" method #346

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What should be implemented?

Consider the following Scenario:
1. create an archive, setting Method 4 + srep + Precomp (-mc:+precomp)
2. Wait Archive creation
3. think about recompression to Method -m5 (preserving Srep+precomp like above 
=> -m5 + srep + precomp) NO FIles are updated/changed.
4. Archive recompression processes file.arc to decompress by using Srep+m4 and 
then restores Precomped file to original and then starts over to create a new 
archive with new methods.

The actual method of recompression decompresses the entire archive and then 
compresses it with new methods. This is very Slow and, potentially, processes 
the archive with methods that doesn't need to be re-processed (for example, 
"Precomped file" or other "(very)Slow External Method" output)

Why it will be useful?
Adding a sort of "Method tracking" between Old-New archive recompression 
routine can speedup FreeArc recompression, by processing archive only with a 
"differential method" (in this scenario -m5, preserving Precomp output) saving 
time,Disk usage, CPU Resources.

Original issue reported on code.google.com by simmal...@gmail.com on 27 Mar 2013 at 4:14

GoogleCodeExporter commented 8 years ago
it would be also useful for reencryption, including plain change of password

Original comment by bulat.zi...@gmail.com on 27 Mar 2013 at 4:23

GoogleCodeExporter commented 8 years ago
Not sure if this is not related to the enhancement listed above...
What about store and reading from archive the compression method used for 
initial packing and then propagated to the following routines:

Archive update - you might want to update an archive with new data, by using 
the last method set for the initial archive (someone might not remember wich 
method chain he used to create the archive and/or does not want to 
set/re-create the whole chain of methods)
like now (build December 2012), updating an archive with "arc u [archive.arc] 
[dir]" stores and converts new files with -m4 Method.

Original comment by simmal...@gmail.com on 28 Mar 2013 at 8:37