# Python is faster than Julia on Windows ARM64

**URL:** <https://discourse.julialang.org/t/python-is-faster-than-julia-on-windows-arm64/129105>\
**Category:** General Usage\
**Created:** [May 17, 2025, 5:32pm UTC](https://discourse.julialang.org/t/python-is-faster-than-julia-on-windows-arm64/129105 "2025-05-17T17:32:49Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bobmccrory](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bobmccrory/32/5137_2.png) [@bobmccrory](https://discourse.julialang.org/u/bobmccrory)\
**Post date:** [May 17, 2025, 5:32pm UTC](https://discourse.julialang.org/t/python-is-faster-than-julia-on-windows-arm64/129105/1 "2025-05-17T17:32:49Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![BLI](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bli/32/37206_2.png) [@BLI](https://discourse.julialang.org/u/BLI)\
**Post date:** [May 17, 2025, 5:51pm UTC](https://discourse.julialang.org/t/python-is-faster-than-julia-on-windows-arm64/129105/2 "2025-05-17T17:51:21Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![TheCedarPrince](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thecedarprince/32/17323_2.png) [@TheCedarPrince](https://discourse.julialang.org/u/TheCedarPrince)\
**Post date:** [May 17, 2025, 6:03pm UTC](https://discourse.julialang.org/t/python-is-faster-than-julia-on-windows-arm64/129105/3 "2025-05-17T18:03:11Z")

</div>

> [@bobmccrory](#):
>
> Is there anyone that can tackle this?

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

---

<div class="post-metadata">

**Author:** ![bobmccrory](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bobmccrory/32/5137_2.png) [@bobmccrory](https://discourse.julialang.org/u/bobmccrory)\
**Post date:** [May 17, 2025, 6:54pm UTC](https://discourse.julialang.org/t/python-is-faster-than-julia-on-windows-arm64/129105/4 "2025-05-17T18:54:20Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [May 17, 2025, 7:37pm UTC](https://discourse.julialang.org/t/python-is-faster-than-julia-on-windows-arm64/129105/5 "2025-05-17T19:37:32Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [May 17, 2025, 8:05pm UTC](https://discourse.julialang.org/t/python-is-faster-than-julia-on-windows-arm64/129105/6 "2025-05-17T20:05:12Z")

</div>

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:

> **[MSYS2 - ARM64 Support](https://www.msys2.org/wiki/arm64/)**
>
> Software Distribution and Building Platform for Windows

A challenge here would be using the UCRT C library

 ![image](https://global.discourse-cdn.com/julialang/original/3X/3/4/34d6da24727151048bb080388c156bea27c6f5f3.png)

Relevant Github issues:

> <https://github.com/JuliaLang/julia/issues/44006>
>
> On Microsoft Windows, there is a new C runtime "libc" called "ucrt". Many of the… changes support ISO C99 conformance..
> https://devblogs.microsoft.com/cppblog/introducing-the-universal-crt/
> https://docs.microsoft.com/en-us/cpp/porting/upgrade-your-code-to-the-universal-crt?view=msvc-170
> 
> UCRT deployment was backported to Windows XP, although Windows XP is no longer supported:
> https://docs.microsoft.com/en-us/cpp/windows/universal-crt-deployment?view=msvc-170
> 
> MSYS2 provides a UCRT64 build environment:
> https://www.msys2.org/docs/environments/
> 
> MSYS2 currently has a julia package, with many packages:
> https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-julia
> 
> For the near term, I propose that we develop build instructions and improve compatibility with the MSYS2 UCRT64 build environment. This may be beneficial by also making Julia buildable on other MSYS2 platforms such as aarch64.

> <https://github.com/JuliaPackaging/BinaryBuilder.jl/issues/1341>
>
> I see \[Windows on ARM\](https://github.blog/news-insights/product-news/arm64-on-g…ithub-actions-powering-faster-more-efficient-build-systems/) in Github Actions now.
> 
> Would it be possible to get a toolchain going to build all our binaries on Windows/ARM, and that can then be the stepping stone for Julia itself.
