ARM Mac: Why I'm Worried About Virtualization

栏目: IT技术 · 发布时间: 4年前

内容简介:It's late 2020 and you just got a brand-new Mac with Apple's own ARM processors. Exciting! But what will development be like?I would

It's late 2020 and you just got a brand-new Mac with Apple's own ARM processors. Exciting! But what will development be like?

Docker

ARM Mac: Why I'm Worried About Virtualization

I would expect about a 5x slowdown running Docker images.

Docker on a Mac utilizes a hypervisor . Hypervisors rely on running the same architecture on the host as the guest , and are about about 1x - 2x as slow as running natively.

Since you're running ARM Mac, these hypervisors can only run ARM Linux. They can't run x86_64 Linux.

What will happen instead? These tools will fall back on emulators . Emulators can run a different architecture between the host and the guest , but simulate the guest operating system at about 5x-10x slowdown.

ARM Mac: Why I'm Worried About Virtualization

A basic performance test comparing gzip performance on amd64 (hypervisor) and arm64v8 (emulator). Note that the emulator is over 6x slower. On an ARM Mac, the amd64 image will instead be 6x slower.

Why can't you update the Docker image to also support ARM? You theoretically could switch your backend to run ARM Linux. However, this would take months - renting out ARM instances, re-building all repositories, and a tense switch over. Worse, it might be impossible if your images include files downloaded off the internet, as those are often only compiled for x86_64. Getting a new laptop isn't enough justification to switch you backend architecture.

ARM Mac: Why I'm Worried About Virtualization

An example of a Docker command that will only work on x86_64. PhantomJS does not release an arm build.

Another option is to run Docker remotely . You set up an x86_64 Linux server, then allow Docker to connect to it remotely. From then on, all Docker commands instead run on the server. This is also supported in Docker, here is a tutorial on setting it up. This is what heavy Docker users will want to do.

VirtualBox

ARM Mac: Why I'm Worried About Virtualization

VirtualBox won't work.

VirtualBox is a hypervisor . Therefore, it won't be able to run x86 Windows or x86 Linux .

You could use VirtualBox to run ARM Windows. Windows already supports ARM, and has a similar binary translation system to Apple's, so it can run x86 binaries. However, VirtualBox only supports x86 hosts and guests and is unlikely to be ported by ARM .

VMWare Fusion similarly is a hypervisor that only support x86, but they're thinking about supporting ARM .

Instead of VirtualBox you might use QEMU, an emulator. However, QEMU is pretty low level and not often used to emulate Windows.

Boot Camp

ARM Mac: Why I'm Worried About Virtualization

Boot Camp won't work.

Boot Camp is an Apple-approved way to dual-boot Mac OS and Windows. Boot Camp will not be available on ARM Macs. It might be added later with the ability to run ARM Windows, though Microsoft would have to approve .

Should I get an ARM Mac?

The point of this post isn't to say that ARM Mac is a bad idea, but to give a realistic idea of what it will be like developing on one.

Should you get an ARM Mac if you're a developer? if you use virtualization often, I wouldn't recommend it. There will be a lot of problems early on, and not all of them will have solutions. My biggest concern is getting an ARM Mac and realizing I simply can't run an essential application on it.

However if you like troubleshooting these issues and are excited about ARM Mac, go for it! My plan is for those kinds of people to fix these issues.

Know something I don't? Have questions? Email me at bmalehorn@gmail.com .


以上所述就是小编给大家介绍的《ARM Mac: Why I'm Worried About Virtualization》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机算法基础

计算机算法基础

沈孝钧 / 机械工业出版社 / 2013-11 / 45.00元

计算机算法是计算机科学的一个重要分支,也是一个难点。本书作者根据自己20多年在国内、国外的教学与科研实践,系统地总结了计算机算法的设计与分析方法,覆盖了大部分最主要的算法技术,包括:分治法、贪心法、动态规划、图的遍历技术、穷举搜索等,涉及一系列重要的算法问题,包括排序问题、选择问题、最小生成树问题、最短路径问题、网络流问题、二分图的匹配问题、字符串的匹配问题和几何算法问题等,还介绍了问题本身的计算......一起来看看 《计算机算法基础》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具