Page 2 of 2 FirstFirst 12
Results 31 to 48 of 48

Thread: Standard for compression libraries API

  1. #31
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,497
    Thanks
    734
    Thanked 660 Times in 354 Posts
    other lzss algos include quicklz, lzo, some encode's program and so on

    tornado is rather universal lz77 compressor and i don't optimized it specifically for fast quicklz-like mode or lzss encoding in general. nevertheless, you can try with -11 -c1 (tor:11:c1) which has good compresssion on l;arge files just due to use of ;large dictionary and deep search

  2. #32
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,611
    Thanks
    30
    Thanked 65 Times in 47 Posts
    Quote Originally Posted by Bulat Ziganshin View Post
    other lzss algos include quicklz, lzo, some encode's program and so on

    tornado is rather universal lz77 compressor and i don't optimized it specifically for fast quicklz-like mode or lzss encoding in general. nevertheless, you can try with -11 -c1 (tor:11:c1) which has good compresssion on l;arge files just due to use of ;large dictionary and deep search
    It's very good and -12 even slightly better.
    I don't love LZSS in ex mode anymore.
    Can I suggest making this one of the standard modes? Great for everything that has to be decompressed at runtime.

  3. #33
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,497
    Thanks
    734
    Thanked 660 Times in 354 Posts
    what you mean by standard mode?

  4. #34
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,611
    Thanks
    30
    Thanked 65 Times in 47 Posts
    Quote Originally Posted by Bulat Ziganshin View Post
    what you mean by standard mode?
    On my test set FreeArc -m1x generates a 127.4 MB file (uncompressed is 248.9) and unpacks it in 6.375s.
    Tornado -12 -c1: 116.1 MB and 2.250s.
    It's clearly better.
    I think that FreeArc could use something like -m?xx modes devoted solely to decompression speed, where different modes could compress equally slow, but would differ is decompression speed (and size, of course).
    Useful for mentioned already runtime unpackers and installers.

  5. #35
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,497
    Thanks
    734
    Thanked 660 Times in 354 Posts
    try also with -12 -c2/-c3/-c4 and arc -m9x

    idea about line of compression modes odered by decompression speed looks unordinary. you can add it yourself into arc.ini:

    [Compression methods]
    1xx=tor:12:c1
    2xx=tor:12:c2
    3xx=tor:12:c3 / dict+tor:12:c3
    4xx=tor:12:c4 / dict+tor:12:c4
    5xx=9x

  6. #36
    Member
    Join Date
    May 2008
    Location
    Antwerp , country:Belgium , W.Europe
    Posts
    487
    Thanks
    1
    Thanked 3 Times in 3 Posts
    Quote Originally Posted by Bulat Ziganshin View Post
    try also with -12 -c2/-c3/-c4 and arc -m9x

    idea about line of compression modes odered by decompression speed looks unordinary. you can add it yourself into arc.ini:

    [Compression methods]
    1xx=tor:12:c1
    2xx=tor:12:c2
    3xx=tor:12:c3 / dict+tor:12:c3
    4xx=tor:12:c4 / dict+tor:12:c4
    5xx=9x
    Doesn't seem to work .... are tor:c1/tor:c2 implemented in ARC or do we need to configure the "full tornado" as external compressor ?
    G:\test\fp.log>arc a -mtor:12:c1 tst fp.log
    FreeArc 0.50 alpha (October 11 200 started: 0.00 secs
    Compressing 1 file of 20.617.071 bytes: 0.01 secs
    Using tor:12:20mb:h128mb:c1
    Memory for compression 156mb, decompression
    Compressing fp.log 0%
    ERROR: Invalid compression method or parameters in tor:12:20mb:h128mb:c1

  7. #37
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,611
    Thanks
    30
    Thanked 65 Times in 47 Posts
    Quote Originally Posted by pat357 View Post
    Doesn't seem to work .... are tor:c1/tor:c2 implemented in ARC or do we need to configure the "full tornado" as external compressor ?
    Yes, it has to be external. 4x4 also doesn't accept these modes.

    Quote Originally Posted by Bulat Ziganshin View Post
    try also with -12 -c2/-c3/-c4 and arc -m9x

    idea about line of compression modes odered by decompression speed looks unordinary. you can add it yourself into arc.ini:

    [Compression methods]
    1xx=tor:12:c1
    2xx=tor:12:c2
    3xx=tor:12:c3 / dict+tor:12:c3
    4xx=tor:12:c4 / dict+tor:12:c4
    5xx=9x
    If we're talking about archiving and FreeArc, decompression speed is probably rarely very important, but if FreeArcLib is meant to be a general purpose compression library, you should consider other uses too.
    Nowadays when CPU power is cheap and fast IO - costly, compression is a very viable solution meant not to reduce size but rather - improve performance. This is quite often used by programs meant to run from a DVD / network shares / USB drives, but from HDDs too, i.e. games archives (ok, making access linear is more important than compression here). Simple calculation: Tornado gets over 100 MB/s on my PC. On a moderately fast new computer, using 4 cores, it would have at least 500 MB/s. That's about 6 times faster than average HDD read speed, so even with 20% size reduction you still get faster startup.
    Another possible use - multimedia codec that does some preprocessing then applies FA. Here decompression speed is much more important than compression, you rarely recompress multimedia files.
    "All for decompression speed" might be too extreme approach for most uses, but I think that decompression speed deserves more attention.

  8. #38
    Member
    Join Date
    May 2008
    Location
    brazil
    Posts
    163
    Thanks
    0
    Thanked 3 Times in 3 Posts
    Hey Bulat ,it's possible to create a cascade compression using a "p" ("preprocessor") flag in file header. Of course ,the compressor must support this .


    I was thinking in a CLScript language ,but it's very complex because it can transform the data too much.

  9. #39
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,497
    Thanks
    734
    Thanked 660 Times in 354 Posts
    what you mean? CLS compressors are 1st class citizens in freearc so you can build compression chains including them, like exe+test+lzma. we just lack real CLS libraries ATM

  10. #40
    Member
    Join Date
    May 2008
    Location
    brazil
    Posts
    163
    Thanks
    0
    Thanked 3 Times in 3 Posts
    Quote Originally Posted by Bulat Ziganshin View Post
    what you mean? CLS compressors are 1st class citizens in freearc so you can build compression chains including them, like exe+test+lzma. we just lack real CLS libraries ATM

    But is very important to differ what is a "compressed file" and what is a "preprocessed file".Using a flag in header can do this.

  11. #41
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,497
    Thanks
    734
    Thanked 660 Times in 354 Posts
    i don't see practical problems with non-recognizing this in FA. but overall, we want to provide as much as possible info about CLS algo, so this may be one flags returned by "identify itself" call

  12. #42
    Member
    Join Date
    May 2008
    Location
    brazil
    Posts
    163
    Thanks
    0
    Thanked 3 Times in 3 Posts
    Is it possible to implement a plugin using zipped packages?

    Mozilla firefox uses xpi packages .Xpi are zipped packages and act like plugins.

  13. #43
    Member
    Join Date
    May 2008
    Location
    brazil
    Posts
    163
    Thanks
    0
    Thanked 3 Times in 3 Posts
    Bulat?????




    Did you understand?



    Thanks.

  14. #44
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,497
    Thanks
    734
    Thanked 660 Times in 354 Posts
    i just think that it's orthogonal question. i think about API - packaging is another question

  15. #45
    Member
    Join Date
    May 2008
    Location
    brazil
    Posts
    163
    Thanks
    0
    Thanked 3 Times in 3 Posts

    Add support for scripting

    Hello Bulat

    Is it possible to implement some scripting language to CLS? (Lua or python for example)

    Thanks

  16. #46
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,497
    Thanks
    734
    Thanked 660 Times in 354 Posts
    lunaris, what you mean? cls is just API, it may be used from any language including Lua once you wrote binding for it

    i think that now any bindings will be useless since API by itself is underdeveloped and the only library implementing this API does trivial copying

  17. #47
    Member
    Join Date
    May 2008
    Location
    brazil
    Posts
    163
    Thanks
    0
    Thanked 3 Times in 3 Posts
    For example ,use lua scripts to do automated tasks in cls .For example ,use lua script to compress a lot of files.

    (Like bash script for automated tasks)

  18. #48
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,497
    Thanks
    734
    Thanked 660 Times in 354 Posts
    such sort of things called "Lua binding to CLS library/API"

Page 2 of 2 FirstFirst 12

Similar Threads

  1. StuffIt Standard v9
    By encode in forum Download Area
    Replies: 0
    Last Post: 7th May 2008, 20:15

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •