5 ms·
I was running a Lenovo p15v with fedora before changing over to m1 pro MacBook. The hardware is nice, but to be honest it's not much of a speed up over my Lenov
by pleb_nz 4y ago
I was running a Lenovo p15v with fedora before changing over to m1 pro MacBook. The hardware is nice, but to be honest it's not much of a speed up over my Lenovo so I'm giving it more time.
Docker is definitely a lot slower
I have read of massive performance improvement with Linux on m1pro though so it might be a swap to that when more distros are available.
Question is, has MacOS become bloated or not had attention to performance to make best use of the new hardware?
- jitl 4y agoAre you running x86 containers or ARM containers? I’m on a 64GB M1 and my x86 container build takes 15 mins from scratch on the M1, 10 mins from scratch on my 2019 Intel MBP, but the ARM container build takes 6 mins on the M1. With or without the Docker pain the battery life is so worth it. Can spend 2 days working from the couch without plugging it in.
- dmix 4y agoThe battery life really is amazing. This is the sort of thing that really takes a laptop’s UX to the next level, while still being highly performant. Plus for PC gaming I’ve been using a cloud server via Paperspace and I play games like Cyberpunk with 4K on ultra settings with pretty good latency (thanks to 1.5 gigabit fibre) and even some VR games using Steam VR + Parsec on a Quest 2. I really don’t see the point in building a PC anymore. And I was really really close to building a Ryzen one before I discovered Paperspace/https://shadow.tech/ https://shadow.tech/
- rufugee 4y agoWow...I mean, I love the battery life in my 16" M1 Max Pro. Similar specs to yours...64GB of ram and 8TB ssd...but I've never seen two days of use. Not even really a full day...I can get around 6-8 hours on the couch without plugging in. Huge, and I mean HUGE improvement over my previous 16" Intel, which seemed to make it around 3 hours before calling it a day...
- mechanical_bear 4y agoThat’s crazy, I tend to make it 6-8ish hours with my current 16” Intel MBP, depending on how hard I’m driving it. I usually have about 200 tabs open (don’t ask) in Safari, a few terminal windows(some ssh’ed in to the server), vpn running, maybe an IDE, and a couple other odds and ends.
- SxC97 4y agoI have a similar machine (1tb SSD instead) and I'm also getting about 6hrs although I run my machine on max brightness. If I turn it down to half brightness I might be able to break 8hrs but I have no idea how people are getting ridiculous 10-12hrs on battery.
- jitl 4y agoIt really depends on your load. I run Safari, a terminal, VS Code, and I turn off Docker and Slack unless I actively need them. Runaway node processes are the biggest battery offender, so those I kill off if I notice them in Activity Monitor. I find 2/5 brightness to be the most comfortable in my space -- I'm surprised to hear others run max brightness which is eye-scorching! It all depends on ambient light I guess. Also, 6-8 hours is a full work day of laptop time for me. If you have more hours in the day you probably will get less days out of the laptop than me.
- pleb_nz 4y ago2 days? I'm like some of the others posters. I regularly get to around 30% after 4 hours so I would guess I would get 6 to 8 hours on a single charge.
- smoldesu 4y ago> Question is, has MacOS become bloated or not had attention to performance to make best use of the new hardware? Docker is just... faster on Linux. This has been the case for a while, and it's not just kernel-based stuff causing problems: APFS and MacOS' virtualization APIs play a pretty big role in weighing it down. I'm kinda in the same boat, though. I got a work-issued Macbook that kinda just sits around, most of the time I'll use my desktop or reach for my T460s if I've got the choice. Mostly because I do sysops/devops/Docker stuff, but also because I never really felt like the Mac workflow was all that great. To each their own, I guess.
- electroly 4y agoI don't think it's the virtualization API -- if you run docker in a Linux VM under macOS, it's vastly faster than running it via Docker Desktop. I use a Parallels VM for it. I honestly don't know what Docker Desktop is doing that makes it so much slower, even when you're not mounting anything from the host.
- cpuguy83 4y agoAre you mapping your source code from the host to the vm?
- electroly 4y agoNo, but I wasn't doing it in Docker Desktop either. That was the first thing I eliminated as a consideration, since that's an obvious point of slowdown. I assume it would be even slower if I had been doing that. Even a `docker build` which does not mount anything from the host was much slower under Docker Desktop than docker under a custom Parallels VM. The downside, of course, is that it's a little annoying to keep your code in the VM if you'd otherwise have it on the host. But I still find it worth it because of just how much faster it is. Now that I think about it, I wonder how well it would work to do your own host mounting using either the Parallels guest folder sharing feature or SMB. I never tried it.
- electroly 4y agoIt's worth at least setting up a Linux VM for Docker. The performance improvement is huge and well worth the hassle. This works today; don't necessarily need to switch to running Linux on the metal. I don't think it's really about macOS, I think Docker Desktop just sucks.
- topher515 4y agoThis is quite surprising and interesting to me. Can you provide links where I can read about this and/or try getting it set up for myself?
- electroly 4y agoI don't have any links handy, but I bought a copy of Parallels, set up Ubuntu, and installed docker inside normally. On my host machine, I use the docker client (only the client, no engine) with DOCKER_HOST set to the VM's hostname. VSCode's Remote Container extension is capable of being set up this way, too, so I can attach it to a running container in the VM. It's definitely more work to set up than using Docker Desktop, but I found the performance improvement to be worth it.
- boundlessdreamz 4y agoEven docker desktop runs the same way i.e they are running docker on a linux VM. It's hidden from the user but that linux VM can be accessed. For improving performance, you can enable some of the newer experimental features in latest docker (Virtualization Framework and VirtioFS). The combination works really well except for databases [1] due to the way FS sync is handled. To fix that a setting need to be changed in the linux VM that docker uses. [2]. Hopefully docker will make that a default setting in the future. [1] https://github.com/docker/roadmap/issues/7#issuecomment-1042577684 https://github.com/docker/roadmap/issues/7#issuecomment-1042... [2] https://github.com/docker/roadmap/issues/7#issuecomment-1044028991 https://github.com/docker/roadmap/issues/7#issuecomment-1044...
- d3nj4l 4y agoI can't speak to GP's claims about performance because I never used Docker Desktop, but I use lima [1] with colima [2] as my docker host. It's dead easy to set up: `brew install colima` followed by `colima start`. 1: https://github.com/lima-vm/lima https://github.com/lima-vm/lima 2: https://github.com/abiosoft/colima https://github.com/abiosoft/colima
- Nextgrid 4y agoDocker on MacOS has always been a problem. On Linux it's essentially free, on MacOS you're running a Linux VM and have overheads of moving data between that and your main OS. MacOS is somewhat bloated though. There's insane amounts of garbage running in the background.
- rubyist5eva 4y ago> on MacOS you're running a Linux VM and have overheads of moving data between that and your main OS MacOS is a special beast, because if I run a VM myself inside parallels using Docker (Ubuntu server with the docker snap, for example), I get nearly 5x the performance from that VM than I do just the "regular" docker for mac (including when all of the new mac specific experimental options are enabled for better performance). It's pretty atrocious, I find it completely unusable and just stick to running my containers in Parallels and forwarding the ports.
- tuetuopay 4y agoThat's the thing. Docker for Mac comes with atrocious filesystem sharing between the host and the VM, which kills all performance. Your parallels setup don't share FS, thus is much much faster. I don't get why people still bother with docker for mac...
- jwilliams 4y agoDocker is a lot slower on OSX. If you switch to ARM images that helps (especially stability). A bigger impact is using the virtiofs (beta) file system mapping/sync. The existing one is horrendously slow to the point of being unusable.
- ribit 4y ago> Docker is definitely a lot slower Docker on macOS is busted. I have heard that folks have had much better success with alternative implementation such as nerdctl. M1 virtualisation on itself is very fast and has almost no overhead. > I have read of massive performance improvement with Linux on m1pro though so it might be a swap to that when more distros are available. I wouldn't hold my breath. Doubt that M1 distros will ever become more than an impressive tech demo. > Question is, has MacOS become bloated or not had attention to performance to make best use of the new hardware? MacOS will always be "more bloated" than a basic Linux installation, it's an opinionated, fully features user OS that runs many more services in the background, e.g. code verification, filesystem event database, full-disk indexing etc. But the CPU/GPU performance is generally excellent. Of course, it boils down to the software you are running, if it is a half-assed port (like Docker on Mac) seems to be, it will eat up any advantage the hardware offers.
- shp0ngle 4y agoDocker is double slow on M1 mac compared to Intel linux. First, you run virtual machine vs just running natively on Linux. Second, you emulate x86; and, unlike other x86 that are emulated directly on M1, you emulate it in software through QEMU, because M1 cannot virtualize and run x86 at the same time So it’s just really slow.