Menu

7-Zip for ARM64

2020-08-09
2024-04-18
<< < 1 2 3 > >> (Page 2 of 3)
  • Igor Pavlov

    Igor Pavlov - 2023-12-01
    CPP\7zip\Bundles\Alone7z\
    nmake
    
     
    • harris

      harris - 2023-12-01

      thanks for your quick response. I haven't succeeded to use nmake to create one. maybe I didn't set environment correctly. But i do success to create with VS, the ARM 7zr.exe file I created is about 1036KB while i notice 7zr.exe under bin directory in package is about 571KB. Is it normal? And I create a x64 release Version, it's about 1261KB.

       

      Last edit: harris 2023-12-01
      • Igor Pavlov

        Igor Pavlov - 2023-12-01
        %comspec% /k "C:\Program Files\VS2022\VC\Auxiliary\Build\vcvarsamd64_arm64.bat"
        

        then call nmake.

        My 7zr.exe size for arm64 is about 850 KB.

         
        • harris

          harris - 2023-12-03

          Great. Thanks for your guidance. I can compile it. Here i get the 7zr.exe for arm64 is about 661KB. Not sure why they have a such difference in size.

           
          • Igor Pavlov

            Igor Pavlov - 2023-12-03

            My size of arm64 is 852992 bytes.
            So why your size is only 661 KB.
            Did you change something in Build.mak ?

             
            • harris

              harris - 2023-12-04

              sorry, my fault. I used vcvarsamd64_arm.bat instead last time. Now i use vcvarsamd64_arm64.bat, my 7zr.exe is 850944 bytes. Is it reasonable with this minor difference?

               
              • Igor Pavlov

                Igor Pavlov - 2023-12-04

                Yes, minor difference in size is possible, if we change Windows Kit 10 version:
                10.0.22621.0
                10.0.20348.0
                10.0.19041.0

                Can you confirm that 32-bit arm version of 7zr.exe also work correctly?

                 

                Last edit: Igor Pavlov 2023-12-04
                • harris

                  harris - 2023-12-04

                  Currently I have no 32-bit arm device at hand. Will update u once I have one

                   
                  • Igor Pavlov

                    Igor Pavlov - 2023-12-04

                    32-bit arm code can work on arm64 devices as I suppose.
                    At least some arm64 devices supported 32-bit arm.
                    Or maybe new arm64 processors in Windows do not support arm32 code anymore?

                     

                    Last edit: Igor Pavlov 2023-12-04
                    • harris

                      harris - 2023-12-07
                       

                      Last edit: harris 2023-12-07
                      • Igor Pavlov

                        Igor Pavlov - 2023-12-07

                        They write "Arm32 UWP App deprecation".
                        But 7-Zip is not UWP.
                        So usual Arm32 programs also are not supported anymore?

                         
                        • kippler

                          kippler - 2023-12-07

                          If I remember correctly, MS did not allow non-UWP ARM APPs (jailbreak was required to use an arm desktop app on Windows RT https://xdaforums.com/t/release-rt-jailbreak-tool.2092158/ ).

                           
                          • Igor Pavlov

                            Igor Pavlov - 2023-12-07

                            Windows RT did not support win32 apps without jailbreak.
                            But Windows 10 arm64 could run arm32 win32 programs.
                            I know that latest arm Cortex cores has no arm32 support. But old Cortex cores could run arm32 and arm64.
                            I don't know what exact Windows versions support arm32 programs.

                             
                            • harris

                              harris - 2023-12-07

                              as far as i know, windows 11 will not support arm32 anymore

                               
                            • defrag

                              defrag - 2024-04-18

                              Windows 11 v24H2 will not support arm32 any more, despite whether the hardware supports. Its C:\Windows\SysArm32 is totally removed.

                               
                            • defrag

                              defrag - 2024-04-18

                              AFAIK, these are pure arm32 RTM Windows'es support 3rd-party arm32 exes:
                              Windows 10 IoT Core v1703-v1809 (v1507-v1607 don't support)
                              Windows Nano Server v1809 in DockerHub only
                              Those are reduced Win32 envs, and were discontinued after v1809.
                              Jailbreaked Windows RT and RT 8.1 support.
                              A widely-known leaked dev version 15035(pre-v1703), with time-bomb, leaked in 2019, also supports.
                              Users using above Windows versions are rare, mostly are amateurs or developers.
                              These are arm64 RTM Windows'es supports 3rd-party arm32 exes:
                              Windows 10 v1709-v2004(ekbs:v20h2-v23h2)
                              Windows 11 v21h2-v22h2(ekb:v23h2)
                              Windows 11 v24h2 dropped arm32 support.
                              Windows Server 2016/2019/2022 arm64 versions are currently only for MS internal uses. They probably support. Windows Server 2025 dropped arm32 support (insider versions are available via UUP, but the RTM version might also be for MS internal uses only).
                              I recommend that arm32 Windows binaries can be dropped since almost nobody really needs it. Build support can be left as-is for amateurs and developers.

                               
                              👍
                              1

                              Last edit: defrag 2024-04-18
  • kippler

    kippler - 2020-08-10

    I'm glad I could help. I have attached the files.

    Tested on Galaxy book S (Qualcomm 8cx), Windows 10 1909.

     
  • kippler

    kippler - 2020-08-10

    Tested on ASUS NovaGo TP370QL (Qualcomm Snapdragon 835), Windows 10 2004.

     
    • Igor Pavlov

      Igor Pavlov - 2020-08-10

      Thanks for your tests.
      Now we have Snapdragon 835 (A73) and 8cx (A76) tests.
      So only Snapdragon 850 and Raspberry (A53 or A72) results are missing.

      The test results show that Snapdragon 835 is very slow for x86 execution in comparison with new 8cx. But total performance of ARM64 version of 7-Zip in all 8 cores of Snapdragon 835 is not bad.

      Please try also benchmark with "Large pages" test (after reboot):

      7z b -mmt=* -bt -slp > c:\res\slp.txt
      
       
  • Pete Batard

    Pete Batard - 2020-08-10

    Hi Igor. Thanks a lot for the ARM builds!

    Attached are the ARM64, ARM and x86 test results on a Raspberry Pi 4 running at the default frequency of 1.5 GHz.

    Note that the default installation directory for ARM version was Program Files (x86) instead of Program Files (Arm), so this might be something you want to look at. The default installation directories for the other installers were fine.

    For the record, that last x86 test literally took hours to execute on that hardware, so I don't think you'll be able to get away with providing a native ARM64 version of 7-zip as the x86 Windows emulation layer is dreadful when it comes to compression...

     
    • Igor Pavlov

      Igor Pavlov - 2020-08-10

      Thanks for these tests!

      I didn't optimize the benchmark for slow cpu. So it could be slow with default settings.
      If someone wants to run benchmark on slow CPU, you can reduce the number of iterations with -mtime=1 switch:

      7z b -mmt=* -mm=* -mtime=1
      

      About (Raspberry Pi 4) A72 results.
      A native ARM/ARM64 performance of A72 per GHz looks similar to A73.
      But that A72 is slow for x86 execution. And A73 and A76 are much faster for x86 code.
      Probably Windows uses some slow optimizations for x86->ARM64 translation on that A72 . They probably use good optimizations only for official ARM64 Windows devices on Snapdragon processors.

      You can try also retest -slp benchmark after system reboot.
      I hope that pages fragmentation will be less after reboot.
      So we can get better results.
      You can look last lines

      Process Time =   507.703 =  210%    Virtual  Memory =    894 MB (LP-2M)
      Global  Time =   241.459 =  100%    Physical Memory =    739 MB (LP-2M)
      

      When 7-Zip can allocate 2 MB pages, Windows does not count 2 MB pages in Physical Memory value. So 7-Zip must show smaller number in Physical Memory, if Large 2 MB pages are used.

       
  • kippler

    kippler - 2020-08-13

    I'm attaching the slp test of Asus-nova-go and Galaxy-book-S.

     
    • Igor Pavlov

      Igor Pavlov - 2020-08-13

      So -slp didn't show improved speed in your tests.
      The "Large page" feature probably is not installed in your system still.
      To install this feature, you must run the 7-Zip File Manager with administrator's rights at least once, close it, and then reboot the system.
      Please try to restest "-slp" tests after such procedure.

       

      Last edit: Igor Pavlov 2020-08-13
      • kippler

        kippler - 2020-08-14

        Okay. I have tested it again. :)

         
  • jon shipman

    jon shipman - 2020-08-13

    Surface Pro X, W10 2004

     
<< < 1 2 3 > >> (Page 2 of 3)

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.