Compression: 32bit or 64bit?


  • conexware

    Hello Everyone,

    Over the past few years, popularity of 64bit Windows has gone up through the roof and deservedly so since 64bit can address more than 4 GB of RAM (while 32bit can only address a bit more than 3 GB, which might not be sufficient today).

    However, many people think that 64bit Windows is also significantly faster, and we quite often get asked why not build 64bit version of PA? Well answer is quite simple - our IDE (Delphi) does not support 64bit, so we can not make 64bit version of PA. That leads people to think that other utilities have (big) advantage over us in terms of speed/features/etc.

    I asked our compression engineer what could the gain be and answer was between 5% and 10%. Which is nothing special really, but hey marketing wise, it is hard to convince people that it is only that much.

    Recently, as part of our patchbeam engine, we developed special interface for two apps to talk between each other (which is usually not simple), and it worked fine. So we got this thought into our head - why not do the same for our compression engines? Specifically 7zip and unrar. It is actually not that much of big deal at all, we could do it and have 32bit app that has 64bit compression engine.

    So while our engineers are perfecting PA 2011, i got into some testing… I took 100 MB TAR file (some files from Photoshop installation), and compressed/extracted it in 32bit and 64bit versions of Rar and 7zip.

    Results were surprising.

    Compression Results
    7zip 32bit compression = 52.3s
    7zip 64bit compression = 49.7s

    Rar 32bit compression = 26.5s
    Rar 64bit compression = 24.7s

    So 7.3% for Rar and 5.2% for 7zip. Not bad? Not great either. Keep in mind that you shouldnt compare the times between the two, as 7zip has much stronger max compression and compressed the files 20% better.

    Here comes the surprising part:

    **Extraction Results:
    **
    7zip 32bit extraction = 2.78s
    7zip 64bit extraction = 2.87s

    Rar 32bit extraction = 2.8s
    Rar 64bit extraction = 3.0s

    PA 32bit extraction = 2.68s

    So 32bit is actually faster than 64bit during extraction… and what do we all do most? Extract files we download from Internet. Our optimized unrar 32bit extraction is 12% faster than 64bit Rar 4.0b3.

    Question here is what to do - people will ask us to give them 64bit, even if it is actually slower than our current code. We can not ignore the big marketing that 64bit is and negative feedback we get when people realize there is no 64bit version. Should we ignore the test results and build the 64bit versions anyway?



  • Hi,

    Too many people think that 64-bit is inherently ‘better’ or ‘faster’. They are wrong.The performance differences above would not be detectable in a double-blind test IMHO.

    Basically, do whatever you have to to succeed. If it is not too much trouble, you could produce both types and say that 32 bit is faster. Then use your stats to see which version is more popular - could be very interesting.

    DrT



  • I would suggest doing another test run with much larger archives (maybe >2GB) as that is where the advantage (if there is one) would show up.

    For general use I don’t see a “practical” advantage.

    However, I know that my next PC purchase would be at least a 64 bit system :p - so (even as just a “marketing gimmick”) I don’t think you can avoid having a 64 bit version.


  • conexware

    there would be no difference when it comes to larger sizes, very little memory is actually used during extraction and in any case, compression engines do not take a lot of memory even at strongest/slowest settings (Nowhere close to 3GB).



  • @spwolf:

    … compression engines do not take a lot of memory even at strongest/slowest settings (Nowhere close to 3GB).

    Is that why the ultra settings say (memory req) 😕


  • conexware

    @TBGBe:

    Is that why the ultra settings say (memory req) 😕

    oh it takes memory, but not 3 GB :-). Easily 1-1.3 GB is taken by Ultra settings in 7zip… But thats far cry from what 32bit can address.

    Big difference is number of registers, which is double than 32bit systems, so this is where 5%-10% in compression comes from. However there are drawbacks as shown by extraction times.

    So basically perfect archiver would use 64bit for compression and 32bit for extraction 🙂



  • Yes, but that is assuming that a user does not have any other applications running when using PA.

    Anyway, I think the marketing angle outweighs any technical advantage in this case.


  • Alpha Testers

    @TBGBe:

    Anyway, I think the marketing angle outweighs any technical advantage in this case.

    ^^ This.
    As that’s all that some people will care about. They will have 64bit Windows and be convinced in their mind that software that offers 64bit options is the one they need and must have. :rolleyes:



  • I’m not saying that 64 bit is necessarily better and faster in all cases, but all the benchmarks/tests i have seen so far for WinRAR shows that the 64 bit edition is basically faster. These benchmarks show that 64 bit OS with 64 bit WinRAR is faster for all operations compared to 64 bit OS with 32 bit WinRAR, but 64 bit OS and 32 bit WinRAR is faster than 32 bit OS and 32 bit WinRAR which seems to be the slowest combination.

    Not sure why the results differ for this test performed by PA.

    -gan


  • conexware

    @gan:

    I’m not saying that 64 bit is necessarily better and faster in all cases, but all the benchmarks/tests i have seen so far for WinRAR shows that the 64 bit edition is basically faster. These benchmarks show that 64 bit OS with 64 bit WinRAR is faster for all operations compared to 64 bit OS with 32 bit WinRAR, but 64 bit OS and 32 bit WinRAR is faster than 32 bit OS and 32 bit WinRAR which seems to be the slowest combination.

    Not sure why the results differ for this test performed by PA.

    -gan

    maybe compression benchmarks, but for extractions, it is definitely slower… there is nothing special with these benchmarks, they can be done by anyone.

    Basically due to nature of design, 64bit extraction has a lot of redundancy compared to 32bit. There is nothing extra there to gain speed, unlike during the compression.

    So you come into situation that 32bit PowerArchiver is significantly faster than 64bit WinRar v4 under same 64bit Windows 7 computer 🙂

    Of course, PA is always faster anyway due to super duper optimizations our Eugene used for unrar 🙂



  • @spwolf:

    maybe compression benchmarks, but for extractions, it is definitely slower… there is nothing special with these benchmarks, they can be done by anyone.

    Basically due to nature of design, 64bit extraction has a lot of redundancy compared to 32bit. There is nothing extra there to gain speed, unlike during the compression.

    Well i’m not saying you are wrong and sure you guys know what you are doing:) I’m just saying all the benchmarks i have seen for WinRAR then WinRAR x64 performed better for both compression and extraction compared to WinRAR x86. If that means 64 bit is faster or if they done better work with the 64 bit version or if it doesn’t mean anything at all i don’t know.

    -gan


  • conexware

    @gan:

    Well i’m not saying you are wrong and sure you guys know what you are doing:) I’m just saying all the benchmarks i have seen for WinRAR then WinRAR x64 performed better for both compression and extraction compared to WinRAR x86. If that means 64 bit is faster or if they done better work with the 64 bit version or if it doesn’t mean anything at all i don’t know.

    -gan

    well you can see benchmarks above for both 7zip and Rar v4… and with extraction, it is always slower. It has to be slower, it is due to how 64bits work… In the same time, compression is faster.

    So ultimate tool would always use 32bit extraction and 64bit compression…

    thing is, everyone will still complain, thinking that simply it has to be faster since it is 64bit! 🙂



  • Did you do the 32 bit tests on a x64 machine/windows?


  • conexware

    @guido:

    Did you do the 32 bit tests on a x64 machine/windows?

    same computer was used, that was the point 🙂



  • So the 32bit is executed using WOW? So x64 generates a lot of overhead.


  • conexware

    @guido:

    So the 32bit is executed using WOW? So x64 generates a lot of overhead.

    yep… for extraction it is useless… for compression, double the number of registers help it.



  • I vote -1 for 64 bit. Give prio to something else.

    I never compress P*rn. I just extract it 😃



  • @guido:

    I never compress P*rn. I just extract it 😃

    I just Preview it :p



  • @TBGBe:

    I just Preview it :p

    inside or outside archive 😃



  • @spwolf:

    So ultimate tool would always use 32bit extraction and 64bit compression…

    thing is, everyone will still complain, thinking that simply it has to be faster since it is 64bit! 🙂

    Either way compression is a lot more time consuming so the most important part to improve. If i could pick 64 bit PA to get a bit faster compression, but also a bit slower extraction i would have picked that option.

    I believe 64 bit Windows on the desktop really had a breakthrough with Vista and 7. A lot of people want 64 bit for the OS and then usually prefer native 64 bits applications as well even if they don’t notice a difference compared to 32 bit. I guess it’s not a matter of “if” a software company should have a 64 bit version, but but “when” it should happen since 64 bit obviously is the future. Some competitors are already there and i think PA should consider to do the same thing sooner instead of later.

    -gan


 

3
Online

9.8k
Users

6.0k
Topics

36.7k
Posts