Julia 1.5, 1.6 twice as fast in sparse matrix solve as 1.4.2

On Windows 10. Any idea why that would be so?

2 Likes

Is it https://github.com/JuliaLang/julia/pull/34989? Wait, that appears to be in 1.4.1. Never mind v2, it actually is 1.5 and later.

1 Like

Using a trick I learned recently (click on the merge commit and look for the little tag icons), it looks like the only tag it’s been in is v1.5.0-beta1 (not 1.4.1)

4 Likes

What is this about please? There’s no link :slight_smile:

I meant to reply to @Oscar_Smith to say that actually, the pull request he linked didn’t make it into a 1.4 release, so it could explain the performance improvements you noticed.

Thanks.
But, my rhs is not sparse. It is a fully populated vector.

3 Likes

Tested with WSL2. Not nearly as pronounced as on Win 10.
1.4.2 27.8 seconds
1.5 22.0 seconds
1.6 25.6 seconds

Win 10:
1.4.2 29.6 seconds
1.5 17.1 seconds
1.6 14.6 seconds

Just a guess, but non-allocating views, which landed in 1.5, sped up quite a few things for me:

1 Like

I will not trust WSLX, is virtual enviroment in W10 you are directly using the HW no emulation of any sort If you want to compare you have to use Linux fully installed on the same PC.

On a dedicated Linux workstation (x86_64, plenty of memory):
1.4.2 42 seconds
1.5 37 seconds
1.6 37 seconds

Unfortunately, I have no dual-boot machine. I cannot give relative numbers Windows/Linux. Well, that is with the exception of the Windows/WSL2 comparison above.

It seem that on the Linux machine you have a slower CPU :slight_smile:

True. It has 64 cores at 1.7 GHz. Slow by today’s standards. But my point was to show how the Julia releases compared on the sparse solve.

1 Like

I understand, from what I see the 1.5 is overall faster than the 1,4.2 , for the 1.6 vs 1.5 don’t think we can have a good compare as the 1.6 is still far to be ready and performance depend too much on the HW you used. But is still good to see the big jump in 1.5 :slight_smile: :slight_smile:

But would that explain the difference btw Win and Linux?