Results 1 to 28 of 28

Thread: FreeHook

  1. #1
    Moderator

    Join Date
    May 2008
    Location
    Tristan da Cunha
    Posts
    2,034
    Thanks
    0
    Thanked 4 Times in 4 Posts
    From the MC guestbook...

    Quote Originally Posted by eugene
    freehook v0.1

    Based on Hook 0.8e
    Under GPL, http://www.gnu.org/licenses/gpl.txt
    FreeHook Home Page

    Download FreeHook v0.1

  2. #2
    Member
    Join Date
    Dec 2006
    Posts
    611
    Thanks
    0
    Thanked 1 Time in 1 Post
    Thanks LovePimple!

  3. #3
    Moderator

    Join Date
    May 2008
    Location
    Tristan da Cunha
    Posts
    2,034
    Thanks
    0
    Thanked 4 Times in 4 Posts
    From the FreeHook v0.1 Readme file...

    freehook v0.1 - ADMC file compressor
    Michael Eugene Ortmann <---snip---@googlemail.com>
    Nania Francesco Antonio
    Ilia Muraviev
    Matt Mahoney
    Based on Hook 0.8e
    Under GPL, http://www.gnu.org/licenses/gpl.txt

    version 0.1
    - win32 version compiled with sse support (implemented what hook9 seems to do)
    your cpu will need sse (pentium3+, athlon-xp+)
    ATTENTION: sse math yields to slightly different results,
    output file can be some bytes smaller or bigger
    besides, no real problem.
    problem is only, two compiled versions of hook not doing exaclty the same math
    cant decompress files of each other

    - display KB/s (implemented what hook9 seems to do)
    - ported from c++ to c
    - fixed all -Wall warnings
    - indent -kr -i2
    - cosmetic changes
    - initialize buf with malloc() instead of bss
    (side effect: program can be packed with upx,
    already working packers will pack faster and more efficient,
    for example dwings great upack)
    - replaced Pokeb() with inline c
    - replaced Peekb() with inline c
    - replaced all goto instructions
    - removed dead code from readname() and writename()
    - enhanced performance for progress bar
    - added filter for IFF (TTF), use BMP instead of DEFAULT
    - renamed modified Hook v0.8e to freehook v0.1

  4. #4
    Expert
    Matt Mahoney's Avatar
    Join Date
    May 2008
    Location
    Melbourne, Florida, USA
    Posts
    3,255
    Thanks
    306
    Thanked 779 Times in 486 Posts
    freehook 0.1 decompression failed on enwik8

    timer freehook c 1700 3 1 6
    /res/enwik8 x8
    rename /res/enwik8 enwik8.tmp
    timer freehook d x8

    C:/res>fc/b enwik8 enwik8.tmp |more
    Comparing files enwik8 and ENWIK8.TMP
    0400690C: 26 5D
    0400690D: 71 5D
    0400690E: 75 20
    0400690F: 6F 61
    04006910: 74 6E
    04006911: 3B 64
    04006913: 74 5B
    04006914: 72 5B
    04006915: 61 2E
    04006916: 6E 2E
    04006917: 73 2E
    04006918: 6C 63
    04006919: 61 6F
    0400691A: 74 6E
    ...

    I repeated with enwik8 and x8 in current directory with same result.

    Test machine is a 2.2 GHz Athlon64, 2 GB memory, WinXP home. I used the supplied freehook.exe

  5. #5
    Tester
    Nania Francesco's Avatar
    Join Date
    May 2008
    Location
    Italy
    Posts
    1,565
    Thanks
    220
    Thanked 146 Times in 83 Posts
    On italian:
    Sapevo Eugene che tu avresti fatto una cosa, io sono contento, hai le capacit? per portare avanti questo progetto! Buona fortuna e se posso ti aiuto!

  6. #6
    Tester
    Nania Francesco's Avatar
    Join Date
    May 2008
    Location
    Italy
    Posts
    1,565
    Thanks
    220
    Thanked 146 Times in 83 Posts
    The error in compress mode
    while ((memcmp(buffer + rposo + umax, buffer + pos + umax, avan)== 0) && (pos + umax + (avan-1) < maxsize))
    {
    umax += avan;
    ramax++;
    }

  7. #7
    Moderator

    Join Date
    May 2008
    Location
    Tristan da Cunha
    Posts
    2,034
    Thanks
    0
    Thanked 4 Times in 4 Posts
    Thanks Nania!

  8. #8
    Tester
    Nania Francesco's Avatar
    Join Date
    May 2008
    Location
    Italy
    Posts
    1,565
    Thanks
    220
    Thanked 146 Times in 83 Posts
    Thanks LovePimple!
    for eugene Peppe Lepre is my alter-ego! the email you I have sent!

  9. #9
    Moderator

    Join Date
    May 2008
    Location
    Tristan da Cunha
    Posts
    2,034
    Thanks
    0
    Thanked 4 Times in 4 Posts
    FreeHook v0.2 has been released.

    Quote Originally Posted by Michael Eugene Ortmann
    version 0.2
    - bugfix, buf was not initialized correctly
    we can decompress enwik8 correctly now
    thanks matt mahoney for reporting
    thanks lepre for trying, but did u test your patch with enwik8?!
    Download FreeHook v0.2

  10. #10
    Tester
    Nania Francesco's Avatar
    Join Date
    May 2008
    Location
    Italy
    Posts
    1,565
    Thanks
    220
    Thanked 146 Times in 83 Posts
    On Italian:
    Per Eugene quale compile c++ utilizzi Intel, Visual c++, bcc?

  11. #11
    Member
    Join Date
    Dec 2006
    Posts
    611
    Thanks
    0
    Thanked 1 Time in 1 Post
    Quote Originally Posted by Nania Francesco Antonio
    Per Eugene quale compile c++ utilizzi Intel, Visual c++, bcc?
    As seen in makefile, answer is probably GCC

  12. #12
    Member
    Join Date
    Apr 2007
    Posts
    16
    Thanks
    0
    Thanked 0 Times in 0 Posts
    hello everyone,

    i signed up to the forum finally

    @nania: gcc. because of the open source nature of freehook i supply full gcc command line i used for creating the windows binary in make.bat within the package. im sure with intel c compiler u can compile faster binary, but its not really free, and gcc is just the defacto standard on most systems i usualy program under.

    if it is important, i currently use gcc 4.1.2 for windows. i found it in the codeblocks projects forum. seems quite stable and does what mingw does, just, its newer and therefore has more nice features i use.

    sry for the long answer,
    i cant speak italian
    eugene

  13. #13
    Member
    Join Date
    Apr 2007
    Posts
    16
    Thanks
    0
    Thanked 0 Times in 0 Posts
    oh, and i prefer c over c++, so first i ported c++ hook to c. i dont think this should cause any troubles with your c++ framework?! but i dunno, i dont use c++, nor do i use any IDE. its because i dont think i need any of those. i like the philosophy of keeping things simple.

  14. #14
    Moderator

    Join Date
    May 2008
    Location
    Tristan da Cunha
    Posts
    2,034
    Thanks
    0
    Thanked 4 Times in 4 Posts
    Quote Originally Posted by eugene
    i signed up to the forum finally
    Welcome to the forum!

  15. #15
    Programmer Bulat Ziganshin's Avatar
    Join Date
    Mar 2007
    Location
    Uzbekistan
    Posts
    4,505
    Thanks
    741
    Thanked 665 Times in 359 Posts
    i hope that someone eventuallly will compile your code using icl

  16. #16
    Tester
    Nania Francesco's Avatar
    Join Date
    May 2008
    Location
    Italy
    Posts
    1,565
    Thanks
    220
    Thanked 146 Times in 83 Posts
    Excuse the delay, for Bulat I wanted to know as to unload the Binary di Gcc 4.1.2 in how much I use dev-cpp and of version 4.1.2 I find only the source! I pray makes to you to know link thanks me!

  17. #17
    Member
    Join Date
    Apr 2007
    Posts
    16
    Thanks
    0
    Thanked 0 Times in 0 Posts

  18. #18
    Programmer
    Join Date
    Feb 2007
    Location
    Germany
    Posts
    420
    Thanks
    28
    Thanked 153 Times in 18 Posts
    Welcome to the forum, Eugene!

    And thank you for the link! Have you tested if there is a big difference in compression speed for freehook between GCC 4.1.2 and 3.4.2?

  19. #19
    Member
    Join Date
    Apr 2007
    Posts
    16
    Thanks
    0
    Thanked 0 Times in 0 Posts
    no. some of the speed gain options are not available under old gcc versions. i just found another nice one for next version :P

    besides exploration of compilers and compiler options it should always be better to work on the algorithm, not on the micro optimization, and thats what maybe im gonna do now... but is still dont feel the grip to hook...

  20. #20
    Programmer
    Join Date
    Feb 2007
    Location
    Germany
    Posts
    420
    Thanks
    28
    Thanked 153 Times in 18 Posts
    Quote Originally Posted by eugene
    besides exploration of compilers and compiler options it should always be better to work on the algorithm
    Well said!

  21. #21
    Tester
    Nania Francesco's Avatar
    Join Date
    May 2008
    Location
    Italy
    Posts
    1,565
    Thanks
    220
    Thanked 146 Times in 83 Posts
    thanks eugene!

  22. #22
    Moderator

    Join Date
    May 2008
    Location
    Tristan da Cunha
    Posts
    2,034
    Thanks
    0
    Thanked 4 Times in 4 Posts
    Quote Originally Posted by eugene
    i cant speak italian
    Nanias English is not too good, so he usually translates any English posts with one of the online translators. He also writes out his posts in Italian on his own machine and translates it to English with the translator before posting here.

    Ilia recently suggested that it may be better if Nania were to post in Italian so that people can translate it to their own langage with one on the free online translators such as Babelfish. This is the reason why he has been posting in Italian!

    Nania is a good man, and I would like to think that we can all spend a little more time attempting to understand his posts. I know it can be difficult but I dont think that any of us would like him to feel like he is being left out because of the language problems.

  23. #23
    Member
    Join Date
    Apr 2007
    Posts
    16
    Thanks
    0
    Thanked 0 Times in 0 Posts
    @lovepimple: when i said "i cant speak italian .-(" i was complaining about me, not him.

    peace,
    eugene

  24. #24
    Moderator

    Join Date
    May 2008
    Location
    Tristan da Cunha
    Posts
    2,034
    Thanks
    0
    Thanked 4 Times in 4 Posts
    Quote Originally Posted by eugene
    @lovepimple: when i said "i cant speak italian .-(" i was complaining about me, not him.

    peace,
    eugene
    I did understand this! I just wanted to make sure that ALL new members understand exactly why Nania is currently posting in Italian.

  25. #25
    Tester
    Nania Francesco's Avatar
    Join Date
    May 2008
    Location
    Italy
    Posts
    1,565
    Thanks
    220
    Thanked 146 Times in 83 Posts
    Return to excuse me for my English! unfortunately the construction of the phrases in Italian is the much most difficult one that in English and therefore a phrase comes changed! as an example "file" from babel-fish come translate "rows"!

  26. #26
    Expert
    Matt Mahoney's Avatar
    Join Date
    May 2008
    Location
    Melbourne, Florida, USA
    Posts
    3,255
    Thanks
    306
    Thanked 779 Times in 486 Posts

  27. #27
    Member
    Join Date
    Dec 2006
    Posts
    611
    Thanks
    0
    Thanked 1 Time in 1 Post
    version 0.3
    - added new gcc option for faster win32 binary
    - added link to used gcc 4.1.2 to make.bat as comment
    - very small changes
    - added dectection of iso without file extension
    - line end in source is now 78 (only for one printf its longer

    http://eugene.ath.cx/projects/freehook-0.3.zip

  28. #28
    Expert
    Matt Mahoney's Avatar
    Join Date
    May 2008
    Location
    Melbourne, Florida, USA
    Posts
    3,255
    Thanks
    306
    Thanked 779 Times in 486 Posts
    Some benchmarks, hook 0.9b vs freehook 0.3. The integer arithmetic in hook 0.9b seems to have hurt compression. Run times are about the same on my PC.

    22,039,914 enwik8.freehook-1700-3-1-6
    22,039,914 enwik8.freehook-1600-3-1-6
    22,496,910 enwik8.hook09b-1700-3-1-6
    22,496,910 enwik8.hook09b-1800-3-1-6
    22,497,716 enwik8.hook09b-1700-3-1-5
    22,563,592 enwik8.hook09b-1700-2-1-5

    178,619,149 enwik9.freehook-1600-3-1-6
    180,444,546 enwik9.hook09b-1800-3-1-6
    180,582,601 enwik9.hook09b-1700-3-1-6
    180,851,135 enwik9.hook09b-1700-3-1-5
    181,617,823 enwik9.hook09b-1700-2-1-5

    Note, I cut back on memory a bit because I want to use my computer while it's running

Posting Permissions

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