Python is faster than Julia on Windows ARM64

I ran a smoothed particle hydrodynamics simulation on my Windows ARM64 machine, a Windows Laptop 7. The Jullia version took 5 min 28 sec to run, while the Python version took 4m 19s.
To check this, I ran the same program on my Laptop 5, a Windows x86 machine. The Julia version ran in 4 min 29 sec, while the Python version ran in 6 min. Presumably, the loss of speed in Julia/ARM64 is due to emulation.
Windows ARM64 isn’t going away; Microsoft has just released some new laptops using the SnapDragon processor. Retooling Julia to run natively on ARM64 is way beyond my skill set, but it seems to be becoming more important. Is there anyone that can tackle this?

1 Like

I’m curious as to your experience with Julia on Windows ARM64 – not so much speed, but rather which packages run in emulation mode, and which (if any) does not run?


Rumored specs of the next generation Qualcomm processor is some 20%+ increase in single core performance, and 50% more cores (up from 12 to 18). I have not seen much on efficiency (battery life) or graphics improvements.

Would you be able to share the Python and Julia implementations of your simulation? Or some small working example of code you are running?

1 Like

Sure, I’d be happy to. They’re in the form of Jupyter notebooks, much of it AI generated, I must admit. Just tell me how to send or post them.

Theoretically, getting Julia on Windows Arm64 should be relatively easy. The biggest issue will be the lack of developer interest and machines to run CI.

That said, if you wanted to, you probably could get Julia building on this hardware. This is the level of effort that can be accomplished by a single person who is committed.

1 Like

The hard part here is Windows. We currently support ARM64 on Linux.

If MSYS2 works well on ARM64, we might be able to do this:

A challenge here would be using the UCRT C library

Relevant Github issues:

3 Likes

(post deleted by author)