Live data from Hacker News

ARM Mac: Why I'm Worried About Virtualization

bmalehorn.com

171–180 of 313 posts

Re: ARM Mac: Why I'm Worried About Virtualization

#171

Earlier quoted context omitted.

You don't need a cluster of them, one $50 machine is enough for home use. Travis et. al. will be buying those 96-core Marvell ARM machines and plowing through builds.

Do they run their own metal? I thought they were on AWS.

Well, if they are, that makes things even easier -- Amazon has offered ARM instances since 2018 [1].

[1]: https://aws.amazon.com/blogs/aws/new-ec2-instances-a1-powere...

Re: ARM Mac: Why I'm Worried About Virtualization

#172

My 2017 Macbook pro still has quite a lot of life in it, but it seems unlikely I will replace it with another Mac in a few years. Before the Mac I had a Lenovo X1 Carbon running Linux and it was great; and even then was a better development environment in some ways (docker has better filesystem performance, pacman is much better than homebrew). I do use some audio processing applications and my kids play a few games…

I recently had to get a new laptop and went with windows for the first time in a decade. Macs are still great to develop on for now, but looking at the trajectory apple has taken, the growing pains ARM will likely bring, and also the trajectory of Windows, it seemed like Windows would be the safer choice over the next few years.

Re: ARM Mac: Why I'm Worried About Virtualization

#173

Earlier quoted context omitted.

It’s not that simple if that code is using explicit struct layouts or x86/x64 intrinsics. Forgive my ignorance though - but what ISA extensions are in Apple’s ARM chips for SIMD? Intel poured a lot of effort into SSE+AXE - Does Apple have a compete there?

> It’s not that simple if that code is using explicit struct layouts or x86/x64 intrinsics. Performance sensitive code that relies on alignment guarantees and other platform details will not work and need to be updated, yes. IIRC Apple's chips do NEON for SIMD, not sure if they support SVE yet. (But I figure they will have to once it becomes a required part of the ARM standard…)

I actually wouldn't be surprised if Apple were to put SVE in their first desktop class ARM chip. They were the first to move to 64 bits after all and SVE has been optional in the standard for quite a while and they wouldn't be the first implementer this time.

Re: ARM Mac: Why I'm Worried About Virtualization

#174
post #114

Earlier quoted context omitted.

Author here. I'm glad somebody said something! Yes the gzip perf test is pretty silly, but illustrates a significant difference. /dev/urandom throughput on this setup was about 100 MB / s so it wasn't a bottleneck for this test - the bottlneck was gzip. Feel free to come up with a performance test yourself! I personally want to know what an HTTP test would look like. You can run an ARM image by running: docker run -i…

Was your emulation done with qemu user space emulator[1] (the syscall translation layer) or qemu system emulator[2] (the VM)? If it was qemu-system you might have better numbers with qemu-user-static, which does binary translation similar to Rosetta 2 rather than a being a full system emulator with all its overhead. You can probably use qemu-user-static to translate x86-64-only binaries in a Linux container on an ARM…

I ran this on a Linux laptop - it looks like it's running qemu-user-static:

    root        9934  103  0.0 125444  6664 pts/0    Rl+  12:25   0:12 /usr/bin/qemu-aarch64-static /usr/bin/gzip
So it might be that Docker already runs a native x86_64 Linux, then uses qemu-static binary translation.

Re: ARM Mac: Why I'm Worried About Virtualization

#175
post #82

Earlier quoted context omitted.

Every time Microsoft or Apple majorly screws something up, people say this. It still hasn't happened yet. However, I think Apple has been a far greater threat to Linux adoption than Microsoft. Why? Because it gives techies the *nix environment they want, with the software and hardware support no one will give them on Linux. There is real value in proprietary commercial end-user application software. Most companies wh…

> Because it gives techies the *nix environment they want, with the software and hardware support no one will give them on Linux. The UNIX experience on the Mac is pretty shitty. Ancient versions of all the tooling. Command-line utils have that weird BSD well-water flavor. No package management. Funny Docker quirks. The hardware used to be pretty nice, but honestly I'm still having trouble forgiving them for getting…

> Ancient versions of all the tooling. Command-line utils have that weird BSD well-water flavor. No package management.

Can be easily fixed by installing homebrew. Also you claim it is a shitty Unix experience while complaining about BSD flavoured tools.

> Funny Docker quirks.

How is that Unix related? BSD has similar issues.

Maybe you should have written the GNU/Linux experience is pretty shitty on macOS but no one claimed otherwise.

Re: ARM Mac: Why I'm Worried About Virtualization

#176
Are there any excited embedded developers in the crowd? I have done a little embedded work and cross compiling has always been a huge pain in the ass to setup. I know some people have even gone as far as purchasing expensive niche workstations with ARM CPUs specifically to avoid this problem. I feel like having a mainstream ARM platform like the MBP will make compiling software for ARM-based single board computers a breeze.

Re: ARM Mac: Why I'm Worried About Virtualization

#177

Earlier quoted context omitted.

>> Because it gives techies the nix environment they want, with the software and hardware support no one will give them on Linux. > The UNIX experience on the Mac is pretty shitty. Ancient versions of all the tooling. Command-line utils have that weird BSD well-water flavor. No package management. Funny Docker quirks. It doesn't have to be the best nix environment. Hell, it doesn't even have to be a good one. It just…

They _had_ the advantage over Windows. WSL2 is so well-integrated as of the latest major release that I think this advantage has now flipped.

Isn’t WSL2 basically a virtual machine with better integration? Is it still super slow when accessing /mnt?

I can also install something like multipass on macOS if I want a good integrated virtual machine.

Re: ARM Mac: Why I'm Worried About Virtualization

#178

Are there any excited embedded developers in the crowd? I have done a little embedded work and cross compiling has always been a huge pain in the ass to setup. I know some people have even gone as far as purchasing expensive niche workstations with ARM CPUs specifically to avoid this problem. I feel like having a mainstream ARM platform like the MBP will make compiling software for ARM-based single board computers a…

I'd much rather have a more powerful x86 workstation for the same money than an ARM laptop. Never really had problems with cross-compile. And without support for running Linux natively, it doesn't get me much for even for the parts of testing that don't need the specific target (well, VMs maybe).

Re: ARM Mac: Why I'm Worried About Virtualization

#179

Are there any excited embedded developers in the crowd? I have done a little embedded work and cross compiling has always been a huge pain in the ass to setup. I know some people have even gone as far as purchasing expensive niche workstations with ARM CPUs specifically to avoid this problem. I feel like having a mainstream ARM platform like the MBP will make compiling software for ARM-based single board computers a…

Reminds me of the argument made in https://www.realworldtech.com/forum/?threadid=183440&curpost....

I cross compiling Linux kernels daily. I think Clang makes this simpler, but missing C runtime for cross compiling userspace executables still leaves much to be desired.

I think Zig is doing interesting things here. Clang should just straight up adopt this, IMO. https://andrewkelley.me/post/zig-cc-powerful-drop-in-replace...

Re: ARM Mac: Why I'm Worried About Virtualization

#180
post #53

Earlier quoted context omitted.

I think you missed the point. What about all the dependencies of your code that are only compiled for x86_64? The article isn't talking about native apps on the laptop, it's about apps that run on a server but that you are developing locally. You can't run your x86 docker image on your ARM mac without emulation. You can't run your x86 Windows VM without emulation etc. Of course there are solutions like using a remote…

Do you have any examples of this? The last time I tried an AWS ARM server, it was literally no modification other than changing the server type — Linux has run on ARM for many years and Apple is far from the first company to use the platform. For example, back in 2017 Cloudflare was basically looking at this as a question of which hardware ran most cost-effectively rather than having engineering heroics first: https:…

Mono and .NET Core run terribly on ARM. I have several containerized C# apps that I need to run on x86_64 hosts, because on ARM they'll just crash randomly.
Post reply on HN