Best Operating System for the Juliaverse

no, there’s a few things you can’t do with the web version (including opening a excel file greater than 50(?) Mo)

This is a prime example of vendor lock-in. For me, the fact that Microsoft locks in users who need Word or Excel makes me stubborn enough to struggle through Office in Linux.

But, yeah, if full Excel capabilities are required by your employer, then Windows or Mac is the way to go.

For most developers, however, Linux is more productive than Windows thanks to being more extensible and things like i3wm and the package manager.

Side-note: most servers in Microsoft Azure run on Linux l, which I find quite telling.

3 Likes

I use LibreOffice on Windows, and I much prefer it to MS Office.

2 Likes

If you really need Excel, and LibreOffice won’t do it, then you have made yourself dependent on Microsoft → vendor lock-in.

However, this does not necessarily mean that you have to run Win10 as your main OS. I have full integration of MS Office in Linux using a virtual machine that runs in the background and integrates all Windows apps into my Linux DE (via a local RDP server on the virtual windows). Note that this is not Wine, which does not work reliably with Office 365, but a full W10 installation in a KVM virtual machine!

Have a look here:

That way I get the benefit of working with Linux (if you come from Mac, I would recommend you look at Pop-OS 21.04 when it comes out later this month) but can still use the Office apps if I need to.

I can also run the Win10 VM as a windows desktop in a window on Linux, if I need more Win functionality.

If most of your workflow is reliant on Windows, then you may be better of using Win10 as your main system. Since I have to use a Win10 desktop at work, I use that to boot a Linux VM in which I do my work, and only switch to the Windows desktop if I have to.

8 Likes

Thank you friends for your thoughts. Given I’m not Windows app dependent (just nice to have) and starting afresh from Mac, I’ve installed Pop!_os have begun exploring the world of open source…

5 Likes

Nearly all of my Julia programs were created on Mac OS. I tested them out on Ubuntu recently. Although they ran fine mostly, I did run into several issues for some of the programs. Had to switch back to Mac OS.

Julia under windows and WSL is broken for high end systems (will only use a fraction of the cores), so linux I guess.

Can you expand on this? I’m curious what you mean here.

1 Like

Sorry for being vague. This is the issue I alluded to:

Windows has this thing called a “processor” group. Every thread has an assigned processor group, and will only run on processors in that group.
A processor group is limited to (a) a max of 64 cores/hardware threads and (b) only HW threads on the same chip for systems with more than one socket (such as dual Xeons).

When a thread is created, it is assigned to the processor group of the process that launched it - all processes are assigned a processor group at start.

So, if a system has two sockets or more than 64 HW threads, no matter how many threads you create, it will use half or less of your cores - you’ll see the process monitor’s CPU usage max out at 1/2 (or 1/4)

This can be worked around by using SetThreadGroupAffinity to distribute your threads among the available processor groups, or using a library which does so (such as Intel Task Building Blocks).

My two workstations are a 44-core/88 thread two-socket Xeon system and a 128 core/256 thread AMD system and so I see this all the time. A single socket 64-core AMD threadripper will also have the problem.

LOTs of software lacks the appropriate thread setup code, including:

  • Visual c++'s libraries themselves. You can create as many std::threads as you like and not be able to max out the processor usage, and their “parallel STL algorithms” also fail to fully parallelize.
  • Julia’s run time.
  • WSL. linux threads created inside a WSL process will be limited to only one processor group.
5 Likes

If your focus is mainly Julia programming but you have some windows requirements like Excel, you’re way better off running windows in a VM on Linux than the other way around. Only if your windows requirements were gaming would it make sense to run Windows direct on hardware, and even then you’d just reboot to play the games.

1 Like

I regularly run Julia on my Mac laptop & Windows desktop & it’s mostly seamless

I’ve been using Linux for years and never had a problem with Julia on Linux. Recently I had to start using a Windows machine and Julia works ok, but the experience is far worse when compared to Linux. For instance, if you use Pluto.jl you can’t interrupt a cell and sometimes the notebook hangs for no reason and requires a restart. Not to mention that the most efficient way to manage your Julia environment on Windows is through VSCode, since there is not a single terminal emulator that is half descent nor a good “bash” on Windows.

1 Like

Well, Windows Terminal with git bash works quite OK for me… I selected bash as default in Windows Terminal. Fonts are OK, just a little bit slow…

On Windows I use Windows Terminal + New Powershell. It works quite well. I will not disagree that in general the experience is better on Linux (Pop!_OS to be specific!).

1 Like