Apple Silicon M1: Black Magic Fuckery
singhkays.com
singhkays.com
>Given that Hackintoshers are a particular bunch who don’t take kindly to the Apple-tax[...]
I have zero issues with an Apple premium or paying a lot for hardware. I think a major generator of interest in hackintoshes has been that there are significant segments of computing that Apple has simply completely (or nearly completely) given up on, including essentially any non-AIO desktop system above the Mini. At one point they had quite competitive PowerMacs and then Mac Pros covering the range of $2k all the way up to $10k+, and while sure there was some premium there was feature coverage, and they got regular yearly updates. They were "boring", but in the best way. There didn't need to be anything exciting about them. The prices did steadily inch upward, but far more critically sometime between 2010 and 2012 somebody at Apple decided the MP had to be exciting or something and created the Mac Cube 2, except this time to force it by eliminating the MP entirely. And it was complete shit, and to zero surprise never got a single update (since they totally fucked the power/thermal envelope, there was nowhere to go) and users completely lost the ability to make up for that. And then that was it, for 6 years. Then they did a kind of sort of ok update, but at a bad point given that Intel was collapsing, and forcing in some of their consumer design in ways that really hurt the value.
The hackintosh, particularly virtualized ones in my opinion (running macOS under ESXi deals with a ton of the regular problem spots), has helped fill that hole as frankenstein MP 2010s finally hit their limits. I'm sure Apple Silicon will be great for a range of systems, but it won't help in areas that Apple just organizationally doesn't care about/doesn't have the bandwidth for because that's not a technology problem. So I'm a bit pessimistic/whistful about that particular area, even though it'll be a long time before the axe completely falls on it. It'll be fantastic and it's exciting to see the return of more experimentation in silicon, but at the same time it was a nice dream for a decade or so to be able to freely take advantage of a range of hardware the PC market offered which filled holes Apple couldn't.
Especially if the margins allow them to not engage in silliness on the software side of things like violating privacy and serving ads in the OS.
There are certainly places that Apple can be criticized, but I think in these two areas they're acting pretty well.
You can disable some of the telemetry during install as well.
Er, I heard that junk doesn’t install itself on “Pro for Workstations,” but I’m not certain and even then that’s another hundred dollars more expensive than Pro.
And even Enterprise still comes with a lot of junk that, like, 90% of users won’t need. Windows AR? Paint 3D? And so on… half the things in the start menu of a stock Windows 10 Pro install are either crap like Candy Crush, fluff like 3D viewer, or niche like the Windows AR thing.
The worst part about this is that there’s definitely a middle ground between not including anything and pushing crap on people — both nearly every Linux distro I have ever seen, as well as Apple nail that balance, and to be frank with the App Store or Microsoft Store and such I really don’t see the need to include hardly anything.
Install it in a virtual machine, every 90 days make a new virtual machine from scratch. That or use the secret code to reset the demo days. Enter an Enterprise key when you want to register it for real.
Not only that, though. Enthusiasts are also extremely fickle and quick to jump ship to a cheaper hardware offering. If you look at all of Apple’s other markets, you’ll see loads of brand loyalty. Fickle enthusiasts don’t fit the mould.
Just looking at the first sentences:
GP: > I have zero issues with an Apple premium or paying a lot for hardware.
parent: > the hackintosh/enthusiast market [...] are the most price conscious segment
There's an enormous price gap between a Mac Mini and the Mac Pro (especially when the Mini now has higher single-threaded performance than the base Pro...) which Apple has widened in the last decade or two.
The 2013 mac pro was a mess. pass.
The latest mac pro... I think it wasn't just expensive, it was sort of sucker expensive.
It's the kind of Mac that makes you get an iMac to put on your desk and a beefy Linux server-grade box you hide somewhere, but that does all your heavy lifting.
I appreciate that the 2013 mac pro wasn't for you, but it was perfect for me: small but powerful. Firstly: RAM. I was able to install 64 GiB on it, which enabled me to run Cloud Foundry on ESXi on Virtual Workstation on macOS. Non-Xeon chipsets maxed-out at (IIRC) 16 GiB and then later 32 GiB—not enough.
Secondly, size & esthetics: it fits on my very small console table that I use as a desk. I have a modest apartment in San Francisco, and my living room is my office, and although I had a mini-tower in my living room, I didn't like the looks.
Third, expandability: I was able to upgrade the RAM to 64 GiB, the SSD to 1 TB. I was able to upgrade the monitor to 4k. It has 6 Thunderbolt connections.
My biggest surprise was how long it has lasted: I typically rollover my laptops every year or so, but this desktop? It's been able to do everything I've needed it to do for the last 7 years, so I continue to use it.
[edited for grammar]
Part of the "mess", I'd argue, was that Apple backed themselves into a thermal corner where they couldn't update the machine but also wouldn't cut its price so it got steadily worse value as time wore on.
This has long been an issue for Apple products. It's why the best time to buy an Apple product is right after an update.
... then I went to NewEgg and got 192GB of memory for $800ish, rather than Apple's exorbitant $3,000. And seriously, why? Same manufacturer, same specs. And convenience factor? It took a good 45 seconds to install the memory, and I'd wager anyone could do it (it's on the 'underside' of the motherboard, all by itself, and has a little chart on the memory cover to tell you exactly what slots to use based on how many modules you have).
And then I bought a 4x M.2 PCIe card and populated it with 2TB SSDs (that exceed the Apple, with sustained R/W of 4500MB/s according to Blackmagic) for just around $1,100, versus the $2,000 Apple wanted. Only downside is that it cannot be the boot drive (or maybe it can, but it can't be the _only_ drive).
Ideally the enhanced cooling from the Pro models would trickle down to the non-Pro. By all reports the (i)Mac Pro is virtually silent but in the low-power ARM world a desktop machine that size could almost be passively cooled, even under load.
I bet Apple would love to release an all-in-one iMac Pro powered by an iteration on the M1. They could put a Dolby Vision 8k display in it and drag race against Threadripper machines for UHD video workloads.
Outside of the Mac mini, the most powerful desktop machine was actually iMacs, with all the compromises that come with the form factor, and the trashcan Mac Pro who was thermally constrained.
In that period, no amount of money would have helped to get peak storage + network + graphic performance for instance.
We are now in a slightly better place where as you point out, throwing insane amounts of money towards Apple solves most of these issues. Except for those who don't want a T2 chip, or need an open bootloader.
Memory bandwidth is one key feature impacting M1's performance. When Apple builds an ARM-based MacPro, we can expect something with at the very least 5 DDR5 channels per socket. It's clear, from this, the M1 is a laptop/AIO/compact-desktop chip.
So yes, at the very least 8 DDR4 channels, or one per core, but I'd expect more from a workstation-class board.
Now, speaking of the board, all those memory channels will be funny.
However the M1 is already pretty large (16B transistors), upgrading to 8 fast cores is going to significantly increase that. Maybe they will just go to a dual CPU configuration which would double the cores, memory bandwidth, and total ram.
Or move the GPU and ML accelerator offchip.
Important to note 'some' here. I'm a developer and power user, and haven't had a desktop computer in almost 10 years.
Or RAM
Furthermore, how is that relevant to the point _I_ was making about needing more than 64gb of RAM? If you both want to tangent, fine do so, but don’t try to put words in my mouth while doing it.
It is being called "using an example" or "illustrative example". For comparison, I've used a type of RAM that is traditionally much more expensive than you find in laptops.
> This is on “processor package” RAM and will thus have an entirely different price basis than a removable stick would,
No.
1) The same price is being asked for RAM in non-M1 models.
2) You could put any price tag you want, because the item is single-sourced, the vendor can pull a quote out of the thin air and you cannot find exact equivalent on the market. Therefore, for comparison, a functionally and parametric similar item is being used.
> how is that relevant to the point _I_ was making about needing more than 64gb of RAM?
You get a different product, that supports more RAM.
> If you both want to tangent, fine do so, but don’t try to put words in my mouth while doing it.
Could you point out, where I did that? I was pointing out, that your note about the GP being hyperbolic is untrue - he was in the ballpark.
Essentially as in the ballpark as $80 is, both are off by 2.5x. Claiming they are “same order of magnitude, so it’s not hyperbolic” is laughable. $100k and $250k are both same order of magnitude, but are radically different prices, no?
Those requirements don’t dictate a desktop[0]. Also, the physical size of the monitor is irrelevant, it’s the resolution that matters. Your video card doesn’t care if you have a 40” 4K monitor or an 80” 4K monitor, to it, it’s the same load.
The reason I still have a cheese grater Mac Pro desktop at all is because I have 128gb RAM in it and have tasks that need that much memory.
[0] I’ve connected eight external monitors to my 16” MBP (with laptop screen still enabled, so 9 screens total). I don’t use the setup actively, did it as a test, but it very much works. The setup was as follows:
TB#1 - 27” LG 5K @ 5120x2880
TB#2 - TB3<->TB2 adapter, then two 27” Apple Thunderbolt Displays @ 2560x1440
TB#3 - eGPU with AMD RX580, then two 34” ultrawides connected over HDMI @ 3440x1440, two 27” DisplayPort monitors @ 2560x1440
TB#4 - TB3<->TB2 adapter, then 27” Apple Thunderbolt Display @ 2560x1440
So that’s almost 50 million pixels displayed on around 4,000 square inches of screens driven by a single MBP laptop.
(I kid, I kid)
If more than a niche had speed as its sole priority, then they would already use desktops, but most (80%+) use laptops today.
But of the majority that uses laptops, most would like a faster machine. Just would prefer it was also a laptop.
You mean... software developers? The same people who almost universally use a Mac?
* in very specific places and conditions.
Actual numbers from every single credible survey puts macs at a grand maximum of 25%.
This is where I'm at.
I don't know if other people are built from sturdier stuff than me or what, but typing on a laptop to any significant extent leaves me with tendonitis for several days. And staring at a laptop screen too long leaves me with neck pain.
Laptops are a nightmare in terms of ergonomics.
It's been a bit of a blessing for me because I only have a laptop at home, and it basically means I can't take work home with me.
But I'm pretty seriously considering upgrading to a traditional desktop sometime in the next year.
I also use a Wacom tablet comfortably placed on a table to my right.
This has become steadily less true since about 2012, in my experience. I don’t know any full time developers still using an Apple laptop. The keyboard situation caused a lot of attrition. I finally stopped support for all Apple hardware at my company months ago, simply to get it out my headspace. Will Fusion360 again be completely broken by an Apple OS update? Am I going to have to invest time making our Qt and PyQt applications work, yet again, after an Apple update? Are Apple filesystem snapshots yet again going to prove totally defective? The answer is “no”, because we really need to focus on filling customer orders, do we’re done with Apple. ZFS snapshots function correctly. HP laptop keyboards work ok. Arch Linux and Windows 10 (with shutup10 and mass updates a few times per year) get the job done without getting in my face every god damned day.
Fascinating. I can name a few startups in my town that use Apple. One just IPO'd (Root), another is about to (Upstart). There are others as well.
The big companies it's hit or miss. Depends on if they are working on big enterprise applications or mobile/web. Mobile and web teams are all on MacBook Pros, and the big app dev teams aren't.
When I was last in Mountain View they were on Mac as well but I know that depends on personal preference.
For a while osx had the edge because it had a nice interface while still offering a lot of unix. Now windows and linux has caught up in the areas they were lacking before. Meanwhile apple has been caring less and less about people using the cli.
I'm guessing very few developers need the extra power a desktop offers over a high-end laptop.
This perception strikes me as having warped in from a different decade. Nowadays, at least in my neck of the woods, developers almost universally use laptops, and Apple's still plenty competitive in the (high end) laptop department.
For the most part, the only developers I know who still use desktops are machine learning folks who don't like the cloud and instead keep a Linux tower full of GPUs in a closet somewhere. And then remote into it from a laptop. Half the time it's a MacBook, half the time it's a XPS 13. And they were never going to consider a Mac Pro for their training server, anyway, because CUDA.
I couldn't speak to power users, but my sense is that, while it meant something concrete in the '90s, nowadays it's a term that only comes out when people want to complain about the latest update to Apple's line of computers.
They choose to make the mac pro as some kind of halo product, I guess. But really the slice of people who need more power than an iMac, and less than this "Linux tower full of GPUs" or a render farm, they judge to be very small indeed. This wasn't true in the 90s, when laptops (and super-slim desktops) came with much bigger compromises.
But I don't think that we need to beat a dead horse like that. The more interesting one would be to figure out some interesting and non-trivially-sized cross-section of people who both need a workstation-class computer, and have the option of even considering using OS X for the purpose.
The last time I used it (the last MBP with Ethernet built in. I want to say 2012 or 2013?) some of the features "missing" in Bootcamp
- No EFI booting. Instead we emulate a (very buggy!) BIOS
- No GPU switching. Only the hot and power hungry AMD GPU is exposed and enabled
- Minimal power and cooling management. Building Gentoo in a VM got the system up to a recorded 117 degrees Celsius in Speccy!
- Hard disk in IDE mode only, not SATA! Unless you booted up OS X and ran some dd commands on the partition table to "trick" it into running as a SATA mode disk
The absolute, crushing cynic in me has always felt that this was a series of intentional steps. Both a "minimum viable engineering effort" and a subtle way to simply make Windows seem "worse" by showing it performing worse on a (forgive the pun) "Apples to Apples" configuration. After all, Macs are "just Intel PC's inside!" so if Windows runs worse, clearly that's a fault of bad software rather than subtly crippled hardware
I have the feeling that Apple just cares about Apps for iOS (money wise). What's the minimum they need to do so people write iOS apps?
If this hardware, incidentally, is good for your use case, all is good. If not, they might just shrug it and decide you're too niche (i.e. not adding too much value to their ecosystem) and abandon you.
If you're a big enough org or the app is for internal use, this might not be an option anyway. At that point I imagine most people just give up on it and figure out how to run macOS on a generic VM. But at that point you have to convince your IT department that it's worth it doing a thing that is definitely unsupported and in violation of the TOS.
Or maybe some of these are big enough that they are able to approach Apple and get a special license for N concurrent instances of macOS running on virtualized hardware? Who knows.
Adobe is smaller by contrast but I'd speculate has a much deeper relationship with Apple as well
I care to the extent customers care.
The answer that most people would like to see would be a stripped down, non-GUI macOS that's installable at no cost in virtualization environments, or maybe with some evaluation scheme like Windows Server has, which effectively makes it free for throwaway environments like build agents.
That's called "Darwin" and it's theoretically open source, but there doesn't seem to be a useful distribution of it. Whether that's due to lack of community interest or lack of Apple support is the question.
So it’s not that hackingtosh builders are anything, at all, it’s that they’re outnumbered by iPhone buys 1 to a million.
At times there seemed to be a real disdain for the people who loved upgrading their machines as well as those who gamed on them. Apple's products were not meant to be improved by anyone other than Apple and you don't sully them with games. The Mac Pro seems to be the ultimate expression of "You are not worthy" from the base system which was priced beyond reason to the monitor and stand. It was the declaration of, "fine, if you want to play then it will cost you" because they didn't really care about the enthusiast of the wrong use - games and such.
Looking over the shoulder at a 64-core Threadripper with 256GB of ECC RAM, 3090FE, Titan RTX and Radeon VII, yeah right. Some of us do Hackintoshing because we want more dope specs than what Apple offers and customizability that comes with PC hardware.
Considering Apple has only went after those who profiteered by selling pre-built Hackintosh and not everyone who are profiteering from Hackintosh scene; I would say Apple did care about the Hackintosh community in some way.
I thought the higher performance/price Hackintosh, especially with Ryzen might force Apple to act differently but now with M1, Apple needn't worry about Hackintosh performance/price anymore.
It’s an order of magnitude different with the Mac Pro, the base model is a $6000 machine that will perform like a ~$1500 PC. And the base model makes no sense to buy, it’s really a $10k-$30k machine. It’s a completely different product category.
The monitor on my MacBook Pro just died, and I bought it July of last year. The repair was about $850 USD. Luckily my credit card covered the hardware warranty, but I'm kind of wishing I'd bought AppleCare.
16 cores 32GB of ram least powerful gpu on the list 2GB of storage $8,799.00
28 cores 48GB of ram same gpu 4GB of storage $14,699
MSRP on a 2020 Toyota Corolla $19,600
AMD Ryzen Threadripper 3970X 32-Core 3.7 GHz Socket sTRX4 $2,629.90
Cost of the same basic GPU about $219
Cost of complete system equivalent to the almost car priced mac about 4200.
9k-15k isn't "a lot" its a crazy amount. 15k is 1/4 of the median households income.
Most of planet earth can't sink 6000 into a computer let alone 15000. Under Apple the standard expandable board in a box with room to expand is a category available to 1% of the US and 0.1% of the world.
The new Mac Pro is 3-4x the price of a machine built around AMD having equivalent performances. I'm building a Threadripper for exactly this reason. Most of the issue is Intel vs AMD and the fact that AMD's Threadrippers are an amazing deal when it comes to performance per dollar and that Apple has an aversion to offering decent GPUs
Buying an iMac now would seem to be a poor decision.
From what I'm seeing in some of the comments, people are so lost in the history of the past years of Apple being the pooch ridden from behind on performance, that they can't get their heads out of their arses to see how awesome this is.
I am sitting here right now wondering if I should invest more of my savings directly in Apple stock, at least temporarily to ride their sales wave, or if I should buy a Mac mini and a nice wide curved monitor with a mechanical keyboard from WASD and be f'ing awesome all of a sudden.
The only reason I'm not hitting the buy button is that all of that isn't $135. There's no reason for that amount, but if it said $135, I'd have already paid for it and been drinking beer to celebrate the happiest purchases I ever made.
Yes, I own an iMac, as this is the closest to a desktop machine Apple sells, but a replacement for what the Mac Pro used to be, it is not.
If it was 1/2 the price I think it could fairly be called premium priced.
In Europe the incentives to buy expensive goods as a company (like cars, fancy office furniture, etc.) is even bigger because of VAT tax (much bigger than US sales tax).
So a machine that's £5k retail becomes £4167 without VAT, effectively £3333 if you take into account tax savings, which only apply if your company is in profit. A £15K machine effectively would still cost you £10k.
It's a big saving, sure, but it's still a very expensive machine.
You're right if you start looking at "Well I run my own company so the cost compared to paying myself that cash as a dividend is much smaller", but that only really applies to those of us who do run our own small companies, own them fully and run them profitably, and have already pumped their personal earnings up to that level. And then we're on to a question about what that box is for and why it's needed, is it a company asset or a personal one?
And remember that you get to apply the same percentage discount to any other machine - your 15K apple box may come down to a conceptual £5K hit on your pocket, if you're paying 50% personal tax on top of the company taxes, but a £4-5k Zen 3 box with dual nvidia 3090s in it will come in at £1333-£1600 by the same metric and quite likely perform better...
But I wasn't really here to talk about comparative value anyway - this was a tax discussion!
However I feel no particular guilt that the workstation I use for my full-time dev day-job also has a windows partition for gaming in the evening, and I hope that the tax authorities would see things the same way! It's not like the asset isn't a justified business purchase.
From a discussion I had with a friend recently, I found that Precision workstations from Dell or Z workstations from HP have similar prices for similar performances (sometime prices can reach 40k or 70k dollars).
When comparing Mac Pro to an enthusiast pc build, yes the mac pro is "overpriced", but the mac pro is using a Xeon which is pricier than a ryzen (even if performance wise it's inferior) and a pro gpu which also cost more than consumer gpu (again, even if performance is inferior). The price of a nvidia quadro is always higher than a Geforce gpu with the same specs.
You can see a spec/price comparison I did when having the discussion with my friend here : https://mega.nz/file/Nj4UnSJR#fBdZfn3zoZ8boxap35-GWEgDlicH3R...
For that market, the Mac Pro is overpriced (the high-end Dell/HP workstations are too), and Apple doesn't make anything more suited for it. That's the criticism. That the Mac Pro is acceptably priced compared to the Dell/HP workstations doesn't matter if that's not what you need.
For me personally, outside of laptops and phones, I don't see the appeal of using Apple hardware (unless you want to use MacOS X).
A professional workstation, with support, services, guaranteed replacement components, guaranteed service-life, maintenance contracts and so on is very different from an enthusiast-built machine.
It's like comparing a BMW M3 to a tricked out VW Golf. You can fit a bigger, badder engine under the VW's hood, stiffen the suspension, replace the gearbox and so on but, in the end, you can get one straight from the dealer and not everyone is inclined to assemble a car from parts.
Did that once. It's fun, educational and not very practical.
The leasing thing is for slightly different reason: it is being used by such a market segment, that always wants something new. They would not drive older car, even if it was reliable, it would be not cool enough. Unfortunately, since cca 2010 BMW also found it out, and since then their cars stopped being good -- they don't have to last -- and are just expensive.
I got curious...
- amd 3990x 64-core 128 thread $3849
- 256gb g.skill ddr 3600 $978
- noctua nh-u14s cooler $80
- samsung 980 pro 1tb nvme pcie4 $229
- evga 1000w power supply $207
- fractal design define 7 $170
- asus trx40-pro mb $396
- nvidia rtx 3080 $699 (?)
- steve jobs: a biography $15 (hardcover)
= a really maxed out system $6623
probably 1/2 that for a 5950x/am4 systemEDIT: ok, I had to know...
- amd 5950x 16 core 32 thread $799
- 128gb g.skill ddr 3600 $489
- noctua nh-u12s cooler $60
- samsung 980 pro 1tb nvme pcie4 $229
- evga 850w power supply $139
- fractal design define 7 compact $130
- asus x570-pro mb $240
- nvidia rtx 3070 $499 (?)
- steve jobs: a biography $14 (kindle)
- linux with kde mac-look icons $0
= a really really great system $2599You'll save a fair bit of $600, run quite a bit cooler, it will be much easier to be quieter, and have twice the disk space. Or buy 2x2TB NVMe (motherboards with 2x m.2 are common these days).
Sure the 5600x/5700x isn't as fast in throughput, but how often do you max more then 6/8 cores? Per core performance is near identical and with more memory bandwidth per core you run into less bottlenecks.
I bet over a few years more people would notice double the disk than the missing extra cores.
I don’t know that the “Apple tax” moniker is really fair anymore, either.
The machines have always commanded a premium for things that enthusiasts don’t see value in (I.e. anything beyond numeric spec sheet values), so most critics completely miss the point of them.
There’s a valid argument to be made that they’re also marked up to higher margins than rivals even beyond the above, but I’m not sure if any end user has really ever eaten that cost - If you buy a MacBook, there has always been someone (students) to buy it back again 3/5/10 years down the road for a significant chunk of it’s original outlay. That doesn’t happen with any other laptop - they’re essentially scrap (or worth next to nothing) within 5 years. After 10 years I might actually expect the value to be static or even increase for its collector value (e.g. clamshell iBook G3s)
The total cost of ownership for Apple products is actually lower over three years than any rival products I’m aware of.
The M1 costs Apple relatively little to produce per unit - I would expect them to keep the overall design for a Mac Pro but have stacked modules such that the side wall of the Mac Pro is a grid of 4 or more such modules each with co-located memory like the M1 has. Obviously performance would depend upon the application being amenable to a design like that but a 32 or 64 5nm core Mac Pro is not out of the question, and would be impossible to match for performance in the next few years by any Hackintosh.
Even after capacity frees up at TSMC for AMD to move to 5nm, they won’t be able to co-locate memory like the M1 does due to standards compliance with DRAM sticks.
I think the next couple of years will be really turbulent for other vendors - the M1 is likely far more significant for the PC market due to how disruptive it is than it is for the Mac market.
> stacked modules such that the side wall of the Mac Pro is a grid of 4 or more such modules each with co-located memory like the M1 has
Quad or more package NUMA topology?? The latency would absolutely suck.
I would like to know if they are using fundamentally better batteries, and how much a 5nm process lead is behind this.
But I will hand it to Apple, if they finally did something to break the 4-8 hour battery life limit, a limit that always seemed to stay the same despite node shrink after node shrink after node shrink, and really about the same on-screen performance for usual browsing/productivity application use.
I was pretty distrustful of the ARM move, but if they deliver this for the Macbook Pro, I'll hop to ARM.
Associated with the CPU people "getting serious" is them pushing an OS, which would have to be Linux. Intel should have done this 20 years ago, at least as leverage to make Windows improve itself.
I think it's still accurate and honestly that's apple's business model.
I think the resale value for a student macbook doesn't really matter. It still costs the student - while they are poor - as much as 4x what other students pay for their laptop. Many students are paying $250 for their laptop.
I couldn't sell that device for half of that a year and a half later. I got a newer laptop in 2016, again very specced out for a laptop. About 1800€, couldn't sell it for 800€ 2 years later. I still use that last one because I didn't want to sell it so far under what the market value should be.
If you try to sell anything Apple related that isn't more than 5 years old you won't have that problem at all. You can get a good value for the device and sell it without too much of a hassle.
Even if you're a student you would likely be better off buying the cheapest macbook you can find (refurbished or second hand if needed). If you don't like the OS you can just install Windows or a Linux distro on it.
Are you sure about that 250$ number? Because I don't think that's a very realistic number.
For note taking, word processing, basic image editing, web browsing, video playing, etc, you can easily get a capable enough laptop for that price.
This is not comparing like-for-like in terms of what the machines can do, of course. Apple's range doesn't even remotely try to cover that part of the market so a direct comparison is unfair if you are considering absolute price/capability of the devices irrespective of the user's requirements, but for work that doesn't involve significant computation that bargain-basement unit may adequately do everything many people need it to do (assuming they don't plan to also use it for modern gaming in non-working hours).
> If you try to sell anything Apple related that isn't more than 5 years old you won't have that problem at all.
Most people don't consider the resale value of a machine when they buy it. For that to be a fair comparison you have to factor in the chance of it being in good condition after a couple of year's use (this will vary a lot from person to person) and the cost of any upgrades & repairs needed in that time (again more expensive for Apple products by my understanding).
And if you buy a $500 laptop and hand it down or bin it, then you are still better off (assuming you don't need a powerful machine) than if you dropped $3,000 for an iDevice and later sold it for $2,000.
> what the market value should* be.*
"Market value" is decided by what the market will bare, not what we want to be able to sell things for, and new & second hand are often very different markets.
I got an i7 T430s for 200€ a few years ago and it's still plenty fast for coding, so I don't see why this number wouldn't be realistic.
I think it's fairly realistic. The Dell Latitude 7250 is probably a good representative of what you can get used for ~$220-$300 US these days: https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2380057.m... The dual-core processor should still be serviceable for everyday work, at ~1.3kg it's light enough to carry around all day, a 1080p resolution should be OK on a 12" screen, and it can take up to 16GiB of RAM, though holding out for one with 16GiB preinstalled will definitely tend to push the cost up to nearer $300: https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2380057.m...
(Then any laptop with similar specs except with a 2-in-1 form factor tends to cost a fair bit more, but that's not a must-have for most students or anyone who might have been considering a MacBook.)
I'm not a student but it's pretty close I think.
I invested $350 into a Chromebook that runs native Linux[0] about 4 years ago and it's still going strong as a secondary machine I use when I'm away from my main workstation.
It has a 13" 1080p IPS display, 4gb of memory, an SSD, a good keyboard and weighs 2.9 pounds. It's nothing to write home about but it's quite speedy to do every day tasks and it's even ok for programming where I'm running decently sized Flask, Rails and Phoenix apps on it through Docker.
If I had to use it as my primary development machine for web dev I wouldn't be too disappointed. It only starts falling apart if you need to do anything memory intensive like run some containers while also running VMs, but you could always spend a little more and get 8gb of memory to fix that problem.
I'm sure nowadays (almost 5 years later) you could get better specs for the same price.
[0]: https://nickjanetakis.com/blog/transform-a-toshiba-chromeboo...
I love Chromebooks, don't get me wrong, but the problem I've come to realise over time is that many are specced and priced just about at a point where they'll quickly move into obsolescence not long after purchase - at which point the only thing keeping them out of the ground is your willingness to tolerate them after the updates have stopped.
The Mac will still be worth a good chunk of money to someone.
I have a Chromebook Flip here that I adored for several years that I couldn't give away now.
For example if it works well enough for another 4 years, now we need to ask the question on whether or not you could get reasonable value out of an 8+ year old Mac. I never sold one so I'm not sure. My gut tells me it's going to be worth way less than what you bought it for even if it's in good condition.
But more generally, yeah I have no intentions on re-selling this thing if I decide I'm done with it before it physically breaks. I'd probably donate it or give it away for free (if someone wanted it).
I don't see that as too bad tho. If I can get 7-8 years out of $350 device I'm pretty happy, especially if the next one costs about the same.
It's a tough comparison tho because a decently decked out MBP is going to be like 8x as expensive but also have way better specs.
It's literally the only thing that matters if you're the seller.
If you have your choice of two items to sell 5 years from now, you ideally want to be selling the item that's worth substantially more to the buyer, rather than trying to sell something worthless.
Assuming there's nothing dishonest happening, it's really up to the market to price.
Thing is, the student buying the MacBook is probably going to be substantially better off that way too, in that it will likely retain proportionally more of it's value from that point too.
It's not just intangibles. I really like using Macs, but my latest computer is a Dell XPS 17. This is not a cheap computer if you get the 4k screen, 64GB of RAM and the good graphics card. At those prices, you should consider the MBP16. The MBP is better built, has a better finish and just feels nicer.
Thing is, Dell will sell me an XPS 17 with a shitty screen because I don't care about the difference and would rather optimise battery life. I can get 3rd party RAM and SSDs. I can get a lesser graphics card because I don't need that either. I can get a more recent Intel CPU. And I can get the lesser model with a greater than 25% discount (they wouldn't sell me the better models with a discount though).
I think some of the Apple Tax, is them not willing you sell you a machine closer to your needs, not allowing some user replaceable parts and not having discounts.
Example - a Mac is a Mac for resale purposes - if I attempt to later sell an XPS that I've opened up and put an SSD in and a couple of SODIMMS - I now need to recoup my cost on all of those things. The problem is that if someone is looking at a used XPS with upgraded SSD and upgraded RAM they're statistically unlikely to fully investigate and value the (probably really good) parts that you upgraded it with - they're just going to see X,Y,Z numbers and price accordingly.
Generally though, a 5 year old Windows laptop with 16GB RAM still commands the value of a 5 year old Windows laptop as best I could tell looking at resale values.
Example: I've been looking at X1 Nano. It is improvement compared to other lines (it has 16:10 display finally!), but it is still somewhere in the middle of the road.
The competitor from Apple has slightly better display, much better wifi and no option for LTE/5G.
Nano has 2160x1350 450 nits display with Dolby Vision. Apple has 2560x1600 400 (Air)/500 (MBP) nits display with P3. The slightly higher resolution means that Apple would display 9 logical bits using 8 physical when using the 1440x900@2X resolution (177% scale), but to get similar scale on Nano that would mean displaying 8 logical pixels using 6 physical (150% scale). Similarly, the Dolby Vision is an uknown (how it could get used?), the P3 from Apple is a known.
X1 Nano has 2x2 MIMO wifi - Intel AX 200 - with no option for anything better. There are only two antennas in the display frame, you cannot add more (ok, 3, but the third one is for cellular, and cannot be used for wifi if you forego cellular). Apple ships with 4x4 MIMO. If you have decent AP at office or home, it is a huge difference, yet no PC vendors are willing to improve here.
The cellular situation is the exact opposite. You can get cellular module for Thinkpads, and you cannot for Apple, at all, so if you go this route, you have to live with workarounds.
Apple on the new Mac Pro that I got a month ago: 192GB memory? That will be $3,000. NewEgg? We'll sell you the same specced memory from the same manufacturer for $800. And you get to keep/sell the baseline 32GB memory.
8TB SSD? $2,000, thanks. OWC and NewEgg? Here, have a PCIe 4xM.2 card and 4 2TB SSDs for $1,100. Oh, and they'll be 50% faster, you just can't have them as the only drive on the system (my Apple SSD runs at around 2800MB/s, the alternative, 4500MB/s).
So they are entirely marked up, and look in any forum - by far most people are not doing what I'm doing, and just "going straight Apple for convenience", though the memory installation was less than 1 minute, and the SSD installation less than 5, including unboxing, seating the 4 drives, reinstalling the heatsink on the card and installing. I get "my time is money", and "it just works" (which, as we know, more and more is less the case with Apple), but really, for me, that was a $3,100 savings for <10 minutes effort.
I would posit that Apple is always going to keep macOS working on some workstation-class hardware, just because that kind of machine is what Apple's software engineers will be using internally, and they need to write macOS software using macOS.
Which means one of two things:
1. If they never release a workstation-class Apple Silicon chip, that'll likely mean that they're still using Intel/AMD chips internally, and so macOS will likely continue to be compiled for Intel indefinitely.
2. If they do design workstation-class Apple Silicon chips for internal use, they may as well also sell the resulting workstation-class machines to people at that point. (Or, to rearrange that statement: they wouldn't make the chips if they didn't intend to commercialize them. Designing and fabbing chips costs too much money!)
Which is to say, whether it be a Hackintosh or an Apple Mac Pro, there's always going to be something to cater to workstation-class users of Apple products — because Apple itself is full of workstation-class users of Apple products.
I have always hoped that we could rely on that heuristic - that internal Apple usage of their own products would guarantee that certain workflows would be unbroken.
In practice, this has never held up.
Over the past 10-12 years it has been reinforced over and over and over: Apple engineers use single monitor systems with scattered, overlapping windows which they interact with using mousey-mousey-everything and never keyboard shortcuts.
They perform backups of critical files - and manage financial identities - using their mp3 player.
The fact that multiple monitors - and monitor handoff - is broken in fascinating new ways with every version of OSX tells you how Apple folks are (and are not) using their own products.
If so, what is the connection to professional workflows on macOS?
I hope I'm not out of line here, but this is not what a "workstation" is. "Workstation" actually has a specific meaning in the realm of enterprise computing solutions, and developers do not (generally) use workstations.
A workstation is something that, say, the people at Pixar use, or Industrial Light and Magic. It's an incredibly powerful machine that can handle the most intensive of tasks. Software development is generally not such a task, unless you're frequently re-compiling LLVM from source or something. (And even then, it's a world of difference.)
Apple's software developers, like most software developers who use Apple machines, use MacBook Pros (for the most part). Sometimes Mac Minis if they need multiple test machines, and I'm sure there are some who also have Mac Pros. But overwhelmingly, development is done on laptops that they dock while at work and take home with them after. (This was my experience when I interned there, anyway.)
But moreover, changes to foundational macOS libraries can cause regressions in the performance of this type of software, and so macOS developers working on systems like Quartz, hardware developers working on the Neural Engine, etc., also work with these apps and their datasets as regression-test harnesses.
See also: the Microsoft devs who work on DirectX.
All of this testing requires "workstation" hardware. (Or servers, but Apple definitely isn't making server hardware that can run macOS at this point. IIRC, they're instead keeping macOS BSD-ish enough to be able to write software that can be developed on macOS and then deployed on NetBSD.)
> Retain and release are tiny actions that almost all software, on all Apple platforms, does all the time. ….. The Apple Silicon system architecture is designed to make these operations as fast as possible. It’s not so much that Intel’s x86 architecture is a bad fit for Apple’s software frameworks, as that Apple Silicon is designed to be a bespoke fit for it …. retaining and releasing NSObjects is so common on MacOS (and iOS), that making it 5 times faster on Apple Silicon than on Intel has profound implications on everything from performance to battery life.
> Broadly speaking, this is a significant reason why M1 Macs are more efficient with less RAM than Intel Macs. This, in a nutshell, helps explain why iPhones run rings around even flagship Android phones, even though iPhones have significantly less RAM. iOS software uses reference counting for memory management, running on silicon optimized to make reference counting as efficient as possible; Android software uses garbage collection for memory management, a technique that requires more RAM to achieve equivalent performance.
The native Swift retain (swift_retain above) seems to be somewhere inside this mess: https://github.com/apple/swift/blob/main/stdlib/public/runti...
The short answer for why it can’t just be an increment is because the reference count is stored in a subset of the bits of the isa pointer, and when the reference count grows too large it has to overflow into a separate sidetable. So it does separate load and CAS operations in order to implement this overflow behavior.
1. "weak" memory ordering (atomic Aquire/Release loads/stores)
2. low memory latencies between cache and system memory (so dirty pages in caches are faster updated etc.)
3. potential a coherency impl. optimized for this kind of atomic access (purely speculative: e.g. maybe sometimes updating less then a page in a cache when detecting certain atomic operations which changed a page or maybe wrt. the window marked for exclusive access in context of ll/sc-operations and similar)
Given that it's common for a object to stay in the same thread I'm not sure how much 2. matters for this point (but it does matters for general perf.). But I guess there is a lot in 3. where especially with low latency ram you might be able to improve performance for this cases.
I roughly understand how refcounting causes extra damage to cache coherency: anywhere that a refcount increment is required, you mutate the count on an object before you use it, and then decrement it later. Often times, those counting operations are temporally distant from the time that you access the object contents.
I do not really understand the "pipeline bubbles" part, and am curious if someone can elaborate.
Reading on in the wiki page, they talk about weak references (completely different than weak memory ordering referenced above). This reminds me that Cocoa has been making ever more liberal use of weak references over the years, and a lot of iOS code I see overuses them, particularly in blocks. I last looked at the objc implementation years ago, but it was some thread safe LLVM hash map split 8 or 16 ways to reduce lock contention. My takeaway was roughly, "wow that looks expensive". So while weak refs are supposed to be used judiciously, and might only represent 1% or less of all refs, they might each cost over 100x, and then I could imagine all of your points could be significant contributors.
In other words, weak references widen the scope of this guessing game from just "what chip changes improve refcounting" to "what chip changes improve parallelized, thread safe hash maps."
For the last few decades the industry has generally believed that GC lets code run faster, although it has drawbacks in terms of being wasteful with memory and unsuitable for hard-realtime code. Refcounting has been thought inferior, although it hasn't stopped the Python folks and others from being successful with it. It sounds like Apple uses refcounting as well and has found a way to improve refcounting speed, which usually means some sort of specific silicon improvement.
I'd speculate that moving system memory on-chip wasn't just for fewer chips, but also for decreasing memory latency. Decreasing memory latency by having a cpu cache is good, but making all of ram have less latency is arguably better. They may have solved refcounting hot spots by lowering latency for all of ram.
From Apple's site:
"M1 also features our unified memory architecture, or UMA. M1 unifies its high-bandwidth, low-latency memory into a single pool within a custom package. As a result, all of the technologies in the SoC can access the same data without copying it between multiple pools of memory." That is paired with a diagram that shows the cache hanging off the fabric, not the CPU.
That says to me that, similar to how traditionally the cpu and graphics card could access main memory, now they have turned the cache from a cpu-only resource into a shared resource just like main memory. I wonder if the GPU can now update refcounts directly in the cache? Is that a thing that would be useful?
The M1 Mac's seem to be 8 channels x 16 bits, which is the same bandwidth as a desktop (although running the ram at 4266 MHz is much higher than usual). The big win is you can have 8 cache misses in flight instead of 2. With 8 cores, 16 GPU cores, and 16 ML cores I suspect the M1 has more in flight cache misses than most.
But doesn't that only help if you have parallel threads doing independent 16 bit requests? If you're accessing a 64 bit value, wouldn't it still need to occupy four channels?
So striping a caching line across multiple channels goes increase bandwidth, but not by much. If the dram latency is 70ns (not uncommon) and your memory is running at 3.2 GHz on a single 64 bit wide channel you get 128 bytes in 16 transfers. 16 transfers at 3.2GHz = 5ns. So you get a cache line back in 75ns. With 2 64 bit channels you can get 2 cache lines per 75ns.
So now with a 128 bit wide channel (twice the bandwidth) you wait 70ns then get 8 transfers @ 3.2GHz = 2.5ns. So you get a cache line back in 72.5ns. Clearly not a big difference.
So the question becomes for a complicated OS with a ton of cores do you want one cacheline per 72.5ns (the stripped config) or two cachlines per 75ns (the non-stripped config).
In the 16 bit 8 channel (assuming the same bus speed and latency) you get 8 cacheline per 90ns. However not sure what magic apple has but I'm seeing very low memory latencies on the M1, on the order of 33ns! With all cores busy I'm seeing cacheline througput of a cacheline per 11ns or so.
The DDR4 bus is 64-bit, how can you have a 128-bit channel??
Single channel DDR4 is still 64-bit, it's only using half of the bandwidth the CPU supports. This is why everyone is perpetually angry at laptop makers that leave an unfilled SODIMM slot or (much worse) use soldered RAM in single-channel.
> The big win is you can have 8 cache misses in flight instead of 2
Only if your cache line is that small (16 bit) I think? Which might have downsides of its own.
Less familiar with the normal on laptops, but most desktop chips from AMD and Intel have two 64 bit channels.
> Which might have downsides of its own.
Typically for each channel you send an address, (a row and column actually), wait for the dram latency, and then get a burst of transfers (one per bus cycle) of the result. So for a 16 bit wide channel @ 3.2 Ghz with a 128 byte cache line you get 64 transfers, one ever 0.3125 ns for a total of 20ns.
Each channel operates independently, so multiple channels can each have a cache miss in flight. Otherwise nobody would bother with independent channels and just stripe them all together.
Here's a graph of cache line throughput vs number of threads.
https://github.com/spikebike/pstream/blob/master/png/apple-m...
So with 1,2 you see an increase in throughput, the multiple channels are helping. 4 threads is the same as two, maybe the L2 cache has a bottleneck. But 8 threads is clearly better than 4.
Yeah, I'm saying you can't magically unify them into a single 128-bit one. If you only use a single channel, the other one is unused.
I've seen similar on Intel servers, but not recently. This isn't however typically something you can do at runtime, just boottime, at least as far as I've seen.
This is two operations and in-between the two -- if and only if the respective memory location is shared between multiple cores or caches -- some form of synchronization must occur (like locking a bank account so you can't double draft on two ATMs simultaneously).
Now the way this is implemented varies a bit.
Apple controls most of the hardware ecosystem, programming languages, binary interface, and so on meaning there is opportunity for them to either implement or supplement ARM synchronization or atomicity primitives with their own optimizations.
There is nothing really preventing Intel from improving here as well -- it is just a easier on ARM because the ISA has different assumptions baked in, and Apple controls everything up the stream, such as the compiler implementations.
But they learned the lesson from SOAR (Smalltalk On A RISC) and did not follow the example of LISP machines, Smalltalk machines, Java machines, Rekursiv, etc. and build specialized hardware and instructions. The benefits of the specialization are much, much less than expected, and the costs of being custom very high.
Instead, they gave the machine large caches and tweaked a few general purpose features so they work particularly well for their preferred workloads.
I wonder if they made trap on overflow after arithmetic fast.
I'm curious to understand this. Is this because of a specific instruction set support, or just the overall unified memory architecture?
So low latency of the cache to system RAM can help here, at least for cases where the Rc is shared between threads. But also if the thread is not shared between threads but the thread is moved to a different CPU. Still it's probably not the main reason.
Given how atomic (might) be implemented on ARM and that the cach and memory is on the same chip my main guess is that they did some optimizations in the coherency protocol/implementation (which keeps the memory between caches and the system memory/RAM coherent). I believe there is a bit of potential to optimize for RC, i.e. to make that usage pattern of atomics fast. Lastly they probably take special care that the atomic related instructions used by Rc are implemented as efficient as possible (mostly fetch_add/fetch_sub).
> which keeps the memory between caches and the system memory/RAM coherent Isn't this already true of every multi-core chip ever designed; the whole point of coherency is to keep the RAM/memory coherent between all the cores and their caches.
> Isn't this already true of every multi-core chip ever designed;
Yes, I just added the explanation of what coherency is in this context as I'm not sure how common the knowledge about it is.
The thing is there are many ways how you can implement this (and related things) with a number of parameters involved which probably can be tuned to optimize for typical RC's usage of atomic operations. (Edit: Just to be clear there are constraints on the implementation imposed by it being ARM compatible.)
A related example (Not directly atomic fetch add/sub and not directly coherency either) would be the way LL/SC operations are implemented. Mainly on ARM you have a parameter of how large the memory region "marked for exclusive access" (by an LL-load operation) is. This can have mayor performance implications as it directly affects how likely a conditional store fails because of accidental inference.
(It explains why iOS does better with less ram than android, but the quote is specifically claiming this as a reason for 8GB ram to be acceptable)
>The memory bandwidth on the new Macs is impressive. Benchmarks peg it at around 60GB/sec–about 3x faster than a 16” MBP. Since the M1 CPU only has 16GB of RAM, it can replace the entire contents of RAM 4 times every second. Think about that…
It is. We know they're using a unified memory architecture, they pointed it out in the presentation.
What "normal" laptop has that?
The latency appears real to me.
The reason GDDR isn't typically used for system RAM is it's higher latency & more power hungry. Like, the GDDR6 memory on a typical discreet card uses more power than the an entire M1-powered Mac Mini power hungry.
Or that's how I understand this, I don't actually own M1 Mac.
https://www.anandtech.com/show/16252/mac-mini-apple-m1-teste...
> Besides the additional cores on the part of the CPUs and GPU, one main performance factor of the M1 that differs from the A14 is the fact that’s it’s running on a 128-bit memory bus rather than the mobile 64-bit bus. Across 8x 16-bit memory channels and at LPDDR4X-4266-class memory, this means the M1 hits a peak of 68.25GB/s memory bandwidth.
The point of the memory bandwidth is so that it never has to swap to disk in the first place.
What? How does memory bandwidth obviate the need for disk swapping?
Hopefully I can clear up the discussion a little:
Q: Does reference counting 'use' less RAM than GC?
A: Yes (caveats etc. go here, but your question is a good explanation)
Q: Does the M1 in and of itself require less RAM than x86 processors?
A: No
Q: So why are people talking about the M1 and its RAM usage as if it's better than with x86?
A: It's really just around the faster reference counting. MacOS was already pretty efficient with RAM.
I'd like to propose tokamak-teapot's formula for hardware purchase:
Minimum RAM believed to be required = actual amount of RAM required * 2
N.B. I am aware that a sum that's greater than 16GB doesn't magically become less than 16GB, but it is somewhat surprising how well MacOS performs when it feels like RAM should be tight, so I'd suggest borrowing a Mac or making a Hackintosh to experience this if you're anxious about hitting the ceiling.
Specifically, as I understood it is that Apple software (written in objective C/Swift) uses a lot of retain/release (or Atomic Reference Counting) on top of manual memory, for memory management rather than other forms of garbage collection (such as those found in Java/C#), which gives Objective C programs a lower memory overhead (supposedly). This is why the iPhone ecosystem is able to run so much more snappier than the Android ecosystem.
That said, I don't see how that translates to lower memory usage than x86 programs. I think the supporting quotes he used for that point are completely orthogonal. I don't have an M1 mac, but I believe the same program running on both machines should use the same amount of memory.
Apple has decades of proven experience producing and shipping massively over engineered systems. I believe em when they say these processors do ARC natively.
Edit: apparently, this isn't common knowledge.
GC vs RC is not a trivial comparison to make, but overall there are good reasons new systems hardly use RC (Objective-C dating back to the 90s isn't new). Where RC can help is where you have a massive performance cliff on page access, i.e. if you're swapped to disk. Then GC is terrible because it'll try and page huge sections of the heap at once where as RC is way more minimal in what it touches.
But in most other scenarios GC will win a straight up fight with an RC based system, especially when multi-threading gets involved. RC programs just spend huge amounts of time atomically incrementing and decrementing things, and rummaging through the heap structures, whereas the GC app is flying along in the L1 cache and allocations are just incrementing a pointer in a register. The work of cleaning up is meanwhile punted to those spare cores you probably aren't using anyway (on desktop/mobile). It's tough to beat that by hand with RC, again, unless you start hitting swap.
If M1 is faster at memory ops than x86 it's because they massively increased memory bandwidth. In fact I'd go as far as saying the CPU design is probably not responsible for most of the performance increase users are seeing. Memory bandwidth is the bottleneck for a lot of desktop tasks. If M1 core is say 10% faster than x86 but you have more of them and memory bandwidth is really 3x-4x larger, and the core can keep far more memory ops in flight simultaneously, that'll explain the difference all by itself.
On the other hand, that same paper shows that for every single one of their tested workloads, the generational GC outperforms manual memory management. Now obviously, you could do better with manual memory management if you took the time to understand the memory usage of your application to reduce fragmentation and to free entire arenas at a time, but for applications that don't have the developer resources to apply to that (the vast majority), the GC will win.
I'm not saying that better memory management is the reason Android wins these launch to interactivity benchmarks because the difference is so stark relative to the hardware performance that memory management isn't nearly enough to explain it, but it does contribute to it. (My own guess is that most of the performance difference comes from smarter process initialization from usage data. Apple is notoriously bad at using data for optimization.)
I think you can reach a lot more than that. Presumably, on Intel they use something like LZO or LZ4, since it compresses/decompresses without too much CPU overhead. But if you have dedicated hardware for something like e.g. Brotli or zstd, one could reach much higher compression ratios.
Of course, this is assuming that memory can be compressed well, but I think this is true in many cases. E.g. when selecting one of the program/library files in the squash benchmarks:
https://quixdb.github.io/squash-benchmark/
you can observe higher compression ratios for e.g. Brotli/gzip/deflate than LZO/LZ4.
I'm not an EE expert and I haven't torn apart an M1, but Occams's Razor would suggest it's unlikely they made specialized hardware for NSObjects specifically. Other ARC systems on the same hardware would likely see similar benefits.
Kotlin/Native lets us do this comparison somewhat directly. The current and initial versions used reference counting for memory management. K/N binaries were far, far slower than the equivalent Kotlin programs running on the JVM and the developer had to deal with the hassle of RC (e.g. manually breaking cycles). They're now switching to GC.
The notion that GC is less memory efficient than RC is also a canard. In both schemes your objects have a mark word of overhead. What does happen though, is GC lets you delay the work to deallocate from memory until you really need it. A lot of people find this quite confusing. They run an app on a machine with plenty of free RAM, and observe that it uses way more memory than it "should" be using. So they assume the language or runtime is really inefficient, when in reality what's happened is that the runtime either didn't collect at all, or it collected but didn't bother giving the RAM back to the OS on the assumption it's going to need it again soon and hey, the OS doesn't seem to be under memory pressure.
These days on the JVM you can fix that by using the latest versions. The runtime will collect and release when the app is idle.
Separately from that x86's TSO-ish memory model also imposes a performance cost whether your algorithm needs those guarantees or not. Code sometimes relies on those guarantees without knowing it. Absent hardware support you would need to insert ARM atomics in translated code to preserve those guarantees which on most ARM CPUs would impose a lot of overhead. The M1 allows Rosetta to put the CPU into a memory ordering mode that preserves the expected memory model very efficiently (as well as using 4K page size for translated processes).
They are fast for atomics but still far, far slower than the equivalent non-atomic operation. An add operation takes around half a cycle (upper bound here - with how wide the firestorm core is an add operation is almost certainly less than half a cycle). At 1ghz a cycle is 1 nanosecond. The M1 runs at around 3ghz. So you're still talking the atomic operation being >10x slower than non-atomics.
Which should not be surprising at all. Apple didn't somehow invent literal magic here. They still need coherency across 8 cores, which means at a minimum L1 is bypassed for the atomic operation. The L2 latency is very impressive, contributing substantially to that atomic operation performance. But it's still coming at a very significant cost. It's very, very far from free. There's also no ARM vs. x86 difference here, since the atomic necessarily forces a specific memory ordering guarantee that's stricter than x86's default. Both ISAs are forced to do the same thing and pay the same costs.
How did you arrive at this number?
It's in the post. Half a cycle for an add or less, and cycles are every 1/3 nanosecond. So upper bound for an add would be around 1/6th a nanosecond. Likely less than that still yet, since the M1 is probably closer to an add in 1/8th a cycle not 1/2. Skylake by comparison is at around 1/4th a cycle for an add, and since M1's IPC is higher it's not going to be worse at basic ALU ops.
6 nanoseconds @ 3ghz is 18 cycles. That's on the slow end of the spectrum for a CPU instruction.
2 more points:
- All the evidence I've seen is gifs of people opening applications in the dock, which is... not impressive. I can do that already, apps barely allocate at all when they open to "log in to iCloud" or "Safari new tab". And don't we see that literally every time Apple launches Mac hardware? Sorry all tech reviewers everywhere, try measuring something.
- I think the actual wins come from the zillion things Apple has done in software. Like: memory compression, which come to think of it might be possible to do in hardware. Supposedly a lot of other work/tuning done on the dynamic pager, which is maybe enabled by higher bandwidth more than anything else.
Fun fact: you can stress test your pager and swap with `sudo memory_pressure`. Try `-l critical`. I'd like to see a benchmark comparing THAT under similar conditions with the previous generation.
I'm curious about FP/vector performance, but I'm pretty sure it's fine. I'm definitely eyeing a MBP myself! 20 hours of video playback? Crazy...
Because the M1 is similar to the chips used in iOS, hence the comparison is not inappropriate.
I am going to speculate now, but maybe, just maybe, if some of the silicon that apple has used on the M1 is used for compression/decompression they could be transparently compressing all ram in hardware. Since this offloaded from the CPUs and allows a compressed stream of data from memory, they achieve greater ram bandwidth, less latency and less usage for a given amount of memory. If this is the case I hope that the memory has ECC and/or the compression has parity checking....
Are you aware of any x86 chips that utilize this method?
Cheers
It's possible that apps have been completely overhauled for a baseline M1 experience. Extremely, extraordinarily unlikely that anything remotely of the sort has happened, though. And since M1-equipped Macs don't have any faster IO than what they replaced (disk, network, and RAM speeds are all more or less the same), there wouldn't be any reason for apps to have done anything substantially difference.
Third, Marcel Weiher explains Apple’s obsession about keeping memory consumption under control from his time at Apple as well as the benefits of reference counting:
>where Apple might have been “focused” on performance for the last 15 years or so, they have been completely anal about memory consumption. When I was there, we were fixing 32 byte memory leaks. Leaks that happened once. So not an ongoing consumption of 32 bytes again and again, but a one-time leak of 32 bytes.
>The benefit of sticking to RC is much-reduced memory consumption. It turns out that for a tracing GC to achieve performance comparable with manual allocation, it needs several times the memory (different studies find different overheads, but at least 4x is a conservative lower bound). While I haven’t seen a study comparing RC, my personal experience is that the overhead is much lower, much more predictable, and can usually be driven down with little additional effort if needed.
Browsers are written in C++ and javascript has full-blown GC.
I don't see how refcounting gives you advantage over manual memory management for most users.
ARC is not specific to M1, BUT have been widely used in ObjC & Swift for years AND is thus heavily optimized on M1 that perform "retain and release" way faster (even when emulating x86)
Perfect illustration of Apple software+hardware long term strategy.
>This quote doesn’t really cover why M1 macs are more efficient with less ram than intel macs? You’ve got a memory budget, it’s likely broadly the same on both platforms
But both Intel Macs and ARM Macs use RC. Both chips are running the same software.
Making it cheaper to create and destroy objects with hardware acceleration, and to do many small, low-cost reclaims without eating all your CPU would be a magical improvement to the JVM, because you could constrain memory use without blowing out CPU. From what's described in TFA it sounds like the same is true for modern MacOS programming.
The JVM already makes it extremely cheap to create and destroy objects: creation is always ~free (just a pointer increment), and then destruction is copying, so very sensitive to memory bandwidth but done in parallel. If most of your objects are dying young then deallocation is "free" (amortized over the cost of the remaining live objects). Given the reported bandwidth claims for the M1 if they ever make a server version of this puppy I'd expect to see way higher GC throughput on it too (maybe such a thing can be seen even on the 16GB laptop version).
The problem with Java on the desktop is twofold:
1. Versions that are mostly used don't give memory back to the OS even if it's been freed by the collector. That doesn't start happening by default until like Java 14 or 15 or so, I think. So your memory usage always looks horribly inflated.
2. If you start swapping it's death because the GC needs to crawl all over the heap.
There are comments here saying the M1 systems rely more heavily on swap than a conventional system would. In that case ARC is probably going to help. At least unless you use a modern pauseless GC where relocation is also done in parallel. Then pausing background threads whilst they swap things in doesn't really matter, as long as the app's current working set isn't swapped out to compensate.
Then they pivoted into automating retain/release patterns from Cocoa and sold it, Apple style, as a victory of RC over tracing GC, while moving the GC related docs and C related workarounds into the documentation archive.
Operative word: tried. GC was an optional desktop-only component deprecated in Mountain Lion, which IIRC has not been accepted on MAS since 2015 was removed entirely from Sierra.
Without going into irrelevant weeds, "apple has always used refcounting everywhere" is a much closer approximation.
Which then in Apple style ("you are holding it wrong") turned it around in a huge marketing message, while hiding away the tracing GC efforts.
That's not exactly relevant to the subject at hand of what memory-management method software usually uses on macos.
> Which then in Apple style ("you are holding it wrong") turned it around in a huge marketing message, while hiding away the tracing GC efforts.
Hardly?
And people are looking to refcounting as a reason why apple software is relatively light on memory, which is completely fair and true and e.g. generally assumed as one of the reasons why ios devices fare well with significantly less ram than equivalent android devices. GCs have significant advantages, but memory overhead is absolutely one of the drawbacks.
https://github.com/ixy-languages/ixy-languages
And the fact that M1 has special instructions dedicated to optimize RC,
https://blog.metaobject.com/2020/11/m1-memory-and-performanc...
Memory overhead in languages with tracing GC (RC is a GC algorithm) only happens in languages like Java without support for value types.
If the language supports value types, e.g. D, and there is still memory overhead versus RC, then fire the developers or they better learn to use the language features available on their plate.
> https://github.com/ixy-languages/ixy-languages
This shows latency, not memory consumption, as far as I can tell.
> If the language supports value types, e.g. D, and there is still memory overhead versus RC, then fire the developers or they better learn to use the language features available on their plate.
Memory overhead of certain types of garbage collectors (notably generational ones) is well-known and it's specified relative to the size of the heap that they manage. Using value types is of course a valid point, regarding how you should use the language, but it doesn't change the overhead of the GC, it just keeps the heap it manages smaller. If the overhead was counted against the total memory use of a program, then we wouldn't be talking about the overhead of the garbage collector, but more about how much the garbage collector is actually used. Note that I'm not arguing against tracing GCs, only trying to keep it factual.
Perhaps they never really needed to fit 32GB into their intel macs either. Some days after the glowing reviews; and strange comments about magic memory utilization; we now see comments concerned about SSD wear due to swap file usage.
If the applications and data structures are more compact in memory on the arm processors; it should be easy to test; you just need an intel mac; and an M1 mac running the same app on the same document and look at how much memory it uses.
So on customer PC ram is maybe more used as caching mechanisms or eaten away by poorly designed memory leak/garbage collection.
And if your GPU is able do to real time rendering on data heavy load maybe you need less caching of intermediate results as well.
2.My current production server is a PostgreSQL database on a 16GB RAM VM running on Debian (my boss is stingy). This doesn't prevent me from managing a 300GB+ data cluster with pretty decent performances and perform actual data analysis.
3.If Chrome sometimes use +8GB for a godsake webrowser the only explanation is poor design, there is no excuse.
But when swap hits 8-9 Gb, it’s effects start to get very noticeable.
Besides, a lot of memory usage is in web browsers, which must use garbage collection.
Looking at the reviews of M1 Macs, those systems are still responsive and making forward progress at a “memory pressure” that would make my x86 Mac struggle in a swap storm. It seems to come down to very fast access to RAM and storage, large on-die caches, and perhaps faster memory compression.
Given that the M1 chip was designed to better support reference counting, it makes sense that doing the same for HC could lead to a benefit
But I think in general you could say that Apple has focused more on optimizing their OS for memory usage than the competition may have done. Android uses Java which eats memory like crazy and I suspect C# is not that much better being a managed and garbage collected language. Not sure how much .NET stuff is used on Windows, but I suspect a lot.
macOS in contrast is really dominated by Objective-C and Swift which does not use these memory hungry garbage collection schemes, nor require JIT compilation which also eats memory.
C# is better than JVM in that it has custom value types.
Say you want to allocate an array of points in Java you basically have to allocate array[pointer] all pointing to tiny 8 byte objects (for eg. 32 bit float x and y coords) + the overhead of object header. If you use C# and structs it just allocates a flat array of floats with zero overhead.
Not only do you pointlessly use memory, you have indirection lookup costs, potential cache misses, more objects for GC to traverse, etc. etc.
JVM really sucks at this kind of stuff and so much of GUI programming is passing around small structs like that for rendering.
FWIW I think they are working on some proposal to add value types to JVM but that probably won't reach Android ever.
I can attest that structs use less memory however IIRC they don't have methods so no GetHashCode() which made them way too slow to insert in a HashSet or Dictionary.
In the end I used regular objects in a Dictionary. RAM usage was a bit higher than structs (not unbearably so) but speed improvement was massive.
You can and should implement IEquatable on a struct, especially if you plan on placing them in a hashset - the default implementation will use reflection and will be slow but it's easy to override.
RAM capacity is just RAM capacity. Possibly Swift-made apps uses less RAM compared to other apps, but microarchitecture shouldn't be matter.
But the much faster SSD to RAM transfer for the M1 means that shuffling stuff in and out of RAM is much faster meaning RAM matters less.
I expected SSD is way fast, but benchmark says its SSD is about below 3000MB/s RW, not very fast but usual Gen3 x4 speed.
The transfer speeds of the M1 SSDs have been benched at 2.7GB/s - about the same speed as mid-range NVMe SSDs (my ADATA SX8200 Pro and Sabrent Rocket are both faster and go for about $120/TB).
That said I’d still be very hesitant buying a 8 GB M1 Mac. When my iMac only had 8 GB it was a real pain to use. Increasing my iMac’s memory to 24 GB made it usable.
My guess it's mostly faster swapping.
Microarchitecture could help, perhaps by making context switches faster.
But it could also be custom peripheral/DMA logic for handling swapping between RAM and NVM.
I think it makes sense.. NVM should be fast enough that RAM only needs to act as more of a cache. But existing architectures have a lot of legacy of treating NVM like just a hard drive. Intel is also working on this with its Optane related architecture work.
You could also do on-the-fly compression of some kinds of data to/from RAM. But I havent heard any clues that M1 is doing that, and you'd need applications to give hints about what data is compressible.
Most experiment with 8GB M1 Macs I've seen so far (on YouTube) seems to start slowing down once the data cannot fit in a RAM, although the rest of the system remain responsive e.g. 8K RED RAW editing test. In the same test with 4K RED RAW there were some shuttering on the first playback but subsequent playback were smooth, which I guessed it was a result of swap being moved back into a RAM.
My guess would be they've done a lot of optimization on swap, making swapping less of an performance penalty (as ridiculous as it sounds, I guess they could even use Neural Engine to determine what should be put back into RAM at any given moment to maximize responsiveness.)
macOS has been doing memory compression since Mavericks using WKdm algorithm, but they also support Hybrid Mode[1] on ARM/ARM64 using both WKdm and a variant of LZ4 for quite some time (WKdm compress much faster than LZ4). I wouldn't be too surprised if M1 has some optimization for LZ4. So far I haven't seen anybody tested it.
It might be interesting to test M1 Macs with vm_compressor=2 (compression with no swap) or vm_compressor=8 (no compression, no swap)[2] and see how it runs. I'm not sure if there's a way to change bootargs on M1 Macs, though.
[1]: https://github.com/apple/darwin-xnu/blob/a449c6a3b8014d9406c...
[2]: https://github.com/apple/darwin-xnu/blob/a449c6a3b8014d9406c...
combined it should make a big difference to swapping
A reference counting strategy would be more efficient in processor utilization compared to garbage collection as it does not need to perform processor intensive sweeps through memory identifying unreferenced objects. So reference counting trades memory for processor cycles.
It is not true that garbage collection requires more ram to achieve equivalent performance. It is in fact the opposite. For programs with identical object allocations, a GC based system would require less memory, but would burn more CPU cycles.
I've seen this with java where the memory usage graph looks like a sawtooth, with 100s of MB being allocated and then freed up a couple of seconds later.
I think it’s the reverse.
Firstly, garbage collection (GC) doesn’t identify unreferenced objects, it identifies referenced objects (GC doesn’t collect garbage). That’s not just phrasing things differently, as it means that the amount of garbage isn’t a big factor in the time spent in garbage collection. That’s what makes GC (relatively) competitive, execution-time wise. However, it isn’t competitive in memory usage. There, consensus is that you need more memory for the same performance (https://people.cs.umass.edu/~emery/pubs/gcvsmalloc.pdf: with five times as much memory, an Appel-style generational collector with a non-copying mature space matches the performance of reachability-based explicit memory management. With only three times as much memory, the collector runs on average 17% slower than explicit memory management)
(That also explains why iPhones can do with so much less memory than phones running Android)
Secondly, the textbook implementation of reference counting (RC) in a multi-processor system is inefficient because modifying reference counts requires expensive atomic instructions.
Swift programs spend about 40% of their time modifying reference counts (http://iacoma.cs.uiuc.edu/iacoma-papers/pact18.pdf)
So, reference counting gets better memory usage at the price of more atomic operations = less speed.
That last PDF describes a technique that doubles the speed of RC operations, decreasing that overhead to about 20-25%.
It wouldn’t surprise me if these new ARM macs use a similar technique to speed up RC operations.
It might also help that the memory model of ARM is weaker than that of x64, but I’m not sure that’s much of an advantage for keeping reference counts in sync across cores.
True, reference counting stores references… but garbage collection stores garbage, which is typically bigger than references :)
(Unless you’re thinking of a language where the GC gets run after every instruction - but I’m not aware of any that do that, all the ones I know of run periodically which gives garbage time to build up)
In the tracing GCs I have seen, an "object header" must be stored with every object in the system; the GC needs it to know which parts of the object are references which should be traced. So while reference counting needs extra space to store the reference count, tracing GC needs extra space to store the object header.
For the price, it better run circles and squares. It should cook my dinner too.
https://www.androidcentral.com/cheapest-iphone-has-more-powe...
https://www.androidauthority.com/iphone-se-vs-most-powerful-...
Intellij has a ton of features but it's pretty heavyweight because of it; I'd like a properly built native IDE with user experience speed at the forefront. That's what I loved about Sublime Text. But I also like an IDE for all the help it gives me, things that the alternative editors don't do yet.
I've used VS Code for a while as well, it's faster than Atom at least but it's still web technology which feels like a TON of overhead that no amount of hardware can compensate for.
I've heard of Nova, but apparently I installed it and forgot to actually work with the trial so I have no clue how well it works. I also doubt it works for my particular needs, which intellij doesn't have a problem with (old codebase with >10K LOC files of php 5.2 code and tons of bad JS, new codebase with Go and Typescript / React).
sounds realy cool
I'm not familiar with MacOs, are the apps there mostly managed code? Even if they were and even if refcounting on Mac is that much faster than refounting on PC - refcounted code would still lose to manual memory management on average.
Hi folks!
It looks like my blog post[1] was the primary source for this (it's referenced both by this post and by the Gruber post), and to be clear, I did not claim that this helps ARM Macs use less RAM than Intel Macs. I think John misunderstood that part and now it has blown up a bit...
I did claim that this helps Macs and iPhones use less RAM than most non-Apple systems, as part of Apple's general obsessiveness about memory consumption (really, really obsessive!). This part of the puzzle is how to get greater convenience for heap allocation.
Most of the industry has settled on tracing GCs, and they do really well in microbenchmarks. However, they need a lot of extra RAM to be competitive on a system level (see references in the blog post). OTOH, RC trends to be more frugal and predictable, but its Achilles heel, in addition to cyclic references, has always been the high cost of, well, managing all those counts all the time, particularly in a multithreaded environment where you have to do this atomically. Turns out, Apple has made uncontented atomic access about as fast as a non-atomic memory access on M1.
This doesn't use less RAM, it decreases the performance cost of using the more frugal RC. As far as I can tell, the "magic" of the whole package comes down to a lot of these little interconnecting pieces, your classic engineering tradeoffs, which have non-obvious consequences over there and then let you do this other thing over here, that compensates for the problem you caused in this other place, but got a lot out etc. Overall, I'd say a focus on memory and power.
So they didn't add special hardware for NSObject, but they did add special hardware that also tremendously helps NSObjet reference counting. And apparently they also added a special branch predictor for objc_msgSend(). 8-). Hey, 16 billion transistors, what's a branch predictor or two among friends.. ¯\_(ツ)_/¯
[1] https://blog.metaobject.com/2020/11/m1-memory-and-performanc...
Look, want to know how M1 achieve its result? Easy. Apple is first with a 5nm chips. Look in the past: every CPU maker gains both speed and power efficiency when going down a manufacturing node.
Intel CPU were still using a 14nm node (although they called 12+++) while Apple M1 is now at 5nm. According to this [1] chart, that's a transistor density at least 4x.
Not saying Apple has no CPU design chops, They've been at it for their phones for quite a while. But people are just ignoring the elephant in the room: Apple gives TSMC a pile of cash to be exclusive for mass production on their latest 5nm tech.
[1] https://www.techcenturion.com/7nm-10nm-14nm-fabrication#nbspnbspnbspnbsp7nm_vs_10nm_vs_12nm_vs_14nm_Transistor_DensitiesDocker is not yet available - but even when it would become available, emulating virtualised x86 code is explicitly not going to be supported. That in many cases means pulling a docker image built in a ci/cd pipeline where a dev screwed something up and debugging it locally is no longer an option. If I wasn't freelance, I could probably get away with some cloud instance to run all my docker stuff, but I'm dealing with too many different environments, for clients with various different legal requirements making this simply 'not an option'.
Too bad, because the machines look very promising for everything else. Development tools aren't there yet, but I expect that to be fixed pretty quickly.
Why not Microsoft and Google ? Amazon did.
And they surely aren't going to let AWS/ARM run away without any competition in the cloud space.
OTOH, Apple could consider releasing a line of Apple silicon cloud servers.
Even if more expensive than x86 servers, they could eventually become VERY competitive if they are more power efficient, which is a real issue for cloud providers. It would pay off any upfront cost if, on the long run, the server uses ie. 50% less energy than x86 alternatives for the same bang.
Now, the thing is that the typical cloud or datacenter machine today is more of a custom built piece of witchcraft than an off-the-shelf blade. So, meh, maybe not. But an ARM-based cloud, Apple or not, sound like the way to go, at least for the long term.
That and Apple presumably dream of not letting developers touch anything without going through their stack, so no touching the hardware for you. For example, I believe Apple expose Performance counters through Instruments in Xcode - but without a Mac to test it on I should say - it doesn't seem to be close to perf. The wider point being that Apple will probably never let you run Linux on their hardware, and your server will probably not be running MacOS either.
> The wider point being that Apple will probably never let you run Linux on their hardware
Apple has already issued docs on how to load alternative OSs on their system and has said explicitly that Windows support is up to Microsoft. Linux on Mac metal is not out of the question, but it's going to take some time to get running well.
Recently there was a Apple support article posted here on HN detailing it.
Yep. It's going to be a while, and it'll be pretty rudimentary for some time. I think Linux on the Mac mini will be viable well before it's interesting on the MacBook.
I agree the idea of running Apple Silicon in the cloud seems far-fetched, but at the same time, if Apple actually does achieve the best price/performance processors in the world, it almost seems like a failure of the market if they do not also serve the cloud market.
While not the exact same reasons as GP, I also need to be able to do this locally.
I don't think this is an issue for Docker. They can run an ARM64 Linux VM instead of the current x86 one, and then use QEMU to run x86 Docker containers within it if they want.
The bummer is that this won't be taking advantage of Rosetta 2 so it'll likely perform bad, but it might be good enough for debugging the odd image or even development depending on _how_ bad.
There is no hardware virtualization here because it's emulating a different architecture.
Rosetta 2 is able to do this entirely in software with very impressive performance but I doubt QEMU will be in the same league.
That said, if you can get most of your containers in native ARM (you can already run k8s on ARM, for instance), it might be a valid escape hatch for the odd image that hasn't updated yet.
If youre at the point where you have to run a container running inside an emulator inside a VM on an ARM Mac then you should just get an x86 linux machine and enjoy performance and native support for containers.
This is not very widely talked about, I stumbled across it by accident: I was working on an x86 emulator on my Chromebook, and was going back and forth between the ARM Chromebook and an x86 laptop. I was working within docker on both machines. At some point I was running a test binary saying "this is an ARM-binary" and forgot to run it using the emulator - but it still executed directly on the x86 machine. It was very confusing and took me a while to figure why my x86 cpu was executing this little static ARM binary just fine - QEMU inside Docker.
> Docker is not yet available - but even when it would become available, emulating virtualised x86 code is explicitly not going to be supported.
Is there any reason why Apple couldn’t add support for emulated virtualized x86 code in a future ARM CPU? The M1 doesn’t support it, but might the “M2” or “M3” support it?
I ask because I’m in the same situation as you, where not being able to run x86 Docker containers would make me not buy an ARM MacBook Pro.
That’s insanely great. Maybe I am exaggerating but Apple’s M1 might be the best innovation in the tech industry in the past 5 years.
If I want to spin up a bunch of VMs to do pre-commit test builds in clean environments, and each need RAM for the OS and user land, being able to edit a lot of raw video does nothing for me. I'm generally fine running macOS (or Linux), but sometimes I need to boot up Windows in a VM for specialized apps: how do I assign >16GB of memory to it if I only have 8-16GB of RAM? Even with fast storage I'm enamoured that I may need swap.
The answer per that video seems to be yes, with limitations.
I’m not trying to assert anything about anyone’s needs.
> how do I assign >16GB of memory to it if I only have 8-16GB of RAM?
This is Apple's slowest/ lowest performance M series CPU.
Complaining that the CPU they built for the MacBook Air and the lowest end MacBook Pro doesn't have 32GB of RAM misses the entire picture. This is Apple's first and lowest end M series chip, and it's blowing away Intel chips with discrete GPUs and more RAM. Their higher end processors which will be coming out over the next couple years are likely to be much better... and will support 32GB of RAM. In fact since Apple is migrating the entire line-up, it's likely the next generation of CPUs will support discrete RAM so the Mac Pro can offer systems with massive amounts of RAM as the current Mac Pro does.
> I need to boot up Windows in a VM for specialized apps
Aside from getting ARM Windows running on the Mac hypervisor, Windows VMs seem pretty unlikely. Another possibility is someone porting or creating an x86 emulator to run on the hypervisor.
Aside from that, Crossover by Code Weavers or something like AWS Workspaces are your best bets.
I've been wondering about how much of the general purpose performance boost of M1 is due to having the RAM in the same package. That has to have benefits in power and latency. So if a future Mx chip supports discrete RAM, it may not seem quite as magical anymore. Then again, Apple's volume and margin is high enough that they could just build a single package with lots of RAM. You wouldn't be able to tinker with it, but it's not like Apple cares about that.
Makes you wonder if AMD or Intel will come up with a similar package for x86-based laptops.
They know the exact latencies and can distribute the memory between CPU and GPU as they please.
A loss in upgradeability is a huge gain in speed and reliability.
My bet is that the next M processor will just have more of everything. More cores and more built-in memory. Maybe the one for the (i)Mac Pro will have upgradeable memory on top of the built-in ones. All of the laptops will only have the on-package memory.
> So if a future Mx chip supports discrete RAM, it may not seem quite as magical anymore.
I agree, but I also doubt they will be making a Mac Pro SOC with huge amounts of RAM aboard either. I'm not sure how common they are, but Apple supports up to a terra-byte of RAM (maybe more). I could easily see SOCs with 64GB of RAM, but I'm struggling with them putting 128 or 256GB+ on the SoC.
Maybe some kind of hybrid?
Very curious to see how they are going to work around this.
I might even go so far as to say it might promote a better discussion!
The really impressive part was that the mac mini did NOT spin up the fan during playback, completely silent. The i7 Macbook Pro sounded like a jet turbine spinning up within 30 seconds. Awesome.
I'm not saying this isn't good, it's great for people editing, but this isn't a general indicator of performance (which is reportedly good!)
I'd say the same about GPUs as well. It's great for people who game, but beyond a certain baseline, it's pretty pointless for most of us.
> I'm not saying this isn't good, it's great for people editing, but this isn't a general indicator of performance
Umm, it's also great for people who watch YouTube or Netflix. Zoom calls use the encoder and the decoder. Fundamentally, modern computers do a crapload of video (and audio!) decoding and encoding. Arguably for most of us, it is more important than having a high performance GPU.
This is all trebly important when you are using Netflix, YouTube, HBO Max, Zoom, Skype, etc on battery where the specialized encoder uses about 1/3 the power as the CPU.
As for Zoom, YouTube, and Netflix, existing hardware is more than fine enough. No one is streaming 8K RAW for a conference call. Unless you're an editor, you won't see much of a benefit.
Didn't suggest these were jobs existing CPUs struggle with. I said the video encode/ decode makes the CPU much more efficient which increases battery life.
So there is literally no benefit.
If there were no benefit, Apple wouldn't be able to decode 8K video with a low end Mac mini. People wouldn't be seeing vastly better battery life when viewing videos and using Zoom.
As for wonderful battery life with Zoom, I am fairly certain that this is because Intel CPUs have a bad process that cripples their video decode performance.
The correct comparison would be with the 7nm or imminent 5nm Renoir APUs that have accelerated decode on an actually good process. Which is what you should compare M1 against, anyway.
But sure, if you want to compare them against obsolete Intel chips, you can, and you'll find improved battery life. It's just not a logical comparison, as Intel isn't the competition to M1 chips, the competition is AMD. And AMD does have high efficiency accelerated video decode on their laptop chips, and it also even supports 8K decoding, though it's almost useless. It is less useless than on an M1 computer though, because at least then you have enough I/O to actually run an 8K screen.
You are talking in circles. This same exact hardware is used to decode lower resolution video. Benefits reach down to 6k, 4k, 2k, 1080p, 720p, etc etc. Any encoding you do.
> The correct comparison would be with the 7nm or imminent 5nm Renoir APUs that have accelerated decode on an actually good process. Which is what you should compare M1 against, anyway.
How exactly do you compare an unreleased product to an actual shipping one? Do we go to the land of hypothetical benchmarks where you just make up numbers for the unshipped product?
> And AMD does have high efficiency accelerated video decode on their laptop chips, and it also even supports 8K decoding, though it's almost useless.
Please share some details on these AMD based $699 systems which can edit 8k video. No-one is claiming you can't edit 8k video on other systems. The entire point is that you can do this on the cheapest system in Apple's lineup.
The M1 Mac Mini can only edit 8K video at a fairly low quality if you use the accelerated encode. If you're actually going to be doing real editing, you're going to only be using the 8K decode, and for that you can look at literally any Renoir APU system.
The cheapest system with a Renoir APU capable of accelerated 8K decode is 340$, so half of the cost of the Mac Mini.
As for this :
>You are talking in circles. This same exact hardware is used to decode lower resolution video. Benefits reach down to 6k, 4k, 2k, 1080p, 720p, etc etc. Any encoding you do
It's only talking in circles if you ignore the rest of the comment. Accelerated encode and decode with similar architectural efficiency is already there. The main advantage Apple has here is that, for a few months, they have a more power efficient process.
As for encode, literally no one has a solid use case for a laptop and hardware encoding over 1080p. For streaming video, anywhere over 1080p is useless on a laptop, and for actual video encoding, no one uses embedded accelerated encode because it's inherently of lower quality.
But sure, if for some absurd reason you want to edit video directly in 8K and don't care about the abysmal rendering times at high qualities, you can buy a 340$ Renoir SBC, enable Hardware Decode on your favorite video editing software, and be on your merry way with accelerated real-time decode of 8K - as long your video files are h264 or h265.
Any improvement to that is a very welcome change, if you ask me.
As far as I know, dedicated HW versus CPU is closer to 1/100 the power. Although I admit I don’t have a source for this claim.
there will be 8k tvs, sure, but lets be real - the step to 1080p was massive, the step to 4k already couldn't fit in those shoes.
the step to 1080p I'd say that, for some, could have been seen even as a downgrade. It was possible to use 1600x1200 back in the late 90s and early 2000s, with CRTs. The concept of "high definition" was already known by PC users (gamers and professionals, that is)
4k is a nice upgrade, and I'd say that many professionals already were using it with proper monitors
8k eeh, we'll get there
The step to 1080p wasn't from 1600x1200, it was from PAL/NTSC (640x400 or 720x576). It was the biggest step by far.
Same thing happened to audio players with "better than CD quality". They never caught on because there was no need.
65" 4K TVs start at 74 Watts (max is 271 Watts). 65" 8K TVs start at 182 Watts and go all the way to 408 Watts. For what? An improvement you won't notice unless you get off the sofa?
8k also future-proofs the footage. In the future we'll be wanting more than 8k for this.
Hopefully that helps. In your original example, you cited someone editing FHD doing fine with a five year old laptop, and now we’ve talked about why larger formats are used, and why someone upgrading a laptop would look at a benchmark of an intensive process, even if they themself don’t plan to run that specific process.
Also, the argument that only $5000 could edit high-res footage is false even without the invention of GPU editing. Proxy clips been around for as long as I've done video editing, even though the experience is worse, it's been possible to edit at reduced resolutions for a long time.
I'll gladly join the groupie crowd once Linux runs stable on it.
I still congratulate the team of Apple Silicone. Hope it will force Intel to create something similar.
"If you see this warning, it means that the app was not notarized, and Apple could not scan the app for known malicious software.
You may want to look for an updated version of the app in the App Store or look for an alternative app."
You might have to wait forever.
But that's the reality we live in.
If it's just a matter of one engineer taking a couple weekends to change the situation, that's surely worth interrogating.
Linux rarely runs as well as Windows on hardware that doesn't go out of its way to keep it out, just ignores it. Let alone on a platform so hostile to external modifications.
In that vein I agree with your original point, though: I suspect we'll probably never see Linux on the M1 in anything but the most superficial form that lacks all the really good stuff. You might get the 8 core CPU, SSD/RAM, some peripherials. But no Neural Engine, no GPU, video decoders or image processors, power management, security features in the T2 like attested boot or encrypted key storage, etc. The only way that'll ever change is if Apple makes it happen.
[1] For reference, the open source Nouveau driver for Fermi cards, nvc0, is the 4th most well supported Mesa driver in terms of features implemented (almost 90% of all features, surpassed only by radeonsi and i915). So it's not like there's no interest in FOSS Nvidia drivers... https://mesamatrix.net/
Which is obviously what developers have done, I haven't yet met someone running Linux directly on a Mac.
At the end of the day, if you don't have a datasheet and the vendor gives you the finger, you're always going to be running a rat race against them, struggling to support 10 year old hardware with free alternatives, and they'll always win because they control the playing field. Further analysis of this phenomena ("what is the root cause of this attitude, and why does our society allow it?") would require actually criticizing and analyzing software development in the grander context of workforce politics over the past, say, 40 to 50 years. Spoiler alert: doing this will probably make you depressed.
No, you also have to understand it.
For a very simple example, suppose that, on initialization, the driver always sends 01 02 03 04 88 99 00 to the hardware, which then replies with 05 06 AA BB 01, and then the driver sends 07 08 11 22 05. What is the meaning of each of these bytes? What should the driver do if the hardware instead replied with 05 06 CC DD 07? Is the AA BB always the same for every device, or is it a calibration constant which it got from somewhere else? Is the last byte some kind of checksum, and if so, how to calculate it? And so on. Even for very simple hardware, reverse engineering the IO can be a lot of guesswork.
On Nvidia, I literally just had to install one package and I never had to think about video decode acceleration again.
Apparently over the years the definition of "Walled Garden" has drifted a lot. The iPhone has a "Walled Garden", unless you jailbreak, it's very difficult to run anything outside the App Store.
My Mac? Almost nothing I run is from the App Store. Nothing needs to be from the App Store. Most of what I run doesn't even go through Gatekeeper and it certainly never touches software I build or compile myself.
If a "Walled Garden" can be disabled by bypassed by a single entry in your hosts file, by running from the command line, or any other number of ways, it's a damned short wall around that garden.
Lots of valid criticisms of MacOS, but it's nowhere in the ballpark of a walled garden.
I don't think that is what he was saying at all.
Regardless.
There is nothing preventing Linux (or Windows) from booting on Mac M1 hardware. People almost certainly will have Linux running on Mac hardware before too long. It's just a slog getting it working well.
Not a walled garden in any traditional sense, just difficult to implement.
Linus has been lusting after Apple hardware for a long time. He's also been exceedingly frustrated by the lack of drivers for most of that time.
8 years ago in an interview with Tech Crunch, he waxes poetic about the MacBook Air:
> "That said, I’m have to admit being a bit baffled by how nobody else seems to have done what Apple did with the Macbook Air – even several years after the first release, the other notebook vendors continue to push those ugly and clunky things. Yes, there are vendors that have tried to emulate it, but usually pretty badly. I don’t think I’m unusual in preferring my laptop to be thin and light."
https://techcrunch.com/2012/04/19/an-interview-with-milleniu...
I don't see his criticism of Apple drivers in this article, but he was pretty frustrated even back then.
Except the iOS-like secure boot verification and complete lack of any kind of documentation or drivers for the hardware. Details!
The other policies available are a) verify at install time the boot kernel is signed by Apple and is the most currently available version (default) or b) to verify at install time the boot kernel is signed by Apple without doing an online check (allows downgrades).
In all cases it's the same underlying mechanism that records what the system should be allowed to boot (according to whatever policy is in effect) and verifies at boot time it hasn't been tampered with. Big Sur takes that further and cryptographically verifies the entire system volume hasn't been tampered with (even offline).
You are correct that Apple does not provide drivers for other operating systems for M1 Macs.
Which Apple has documented how to work around.
> ... or drivers for the hardware.
Which is why I said it was going to be difficult to implement.
> ... Details!
Were apparently ignored.
For now.
Except here we are and things are the same. I run whatever I want.
Here’s to having this same silly “argument” in 2021.
Getting it to run software not approved by Apple is a pain.
They may always leave a door open somewhere, but I wouldn't want to count on that.
I've never had issues with getting things from inside or outside the App Store working. Usually it's just dragging the App into the Applications folder and answering a prompt. Sometimes there is an installer. (or I use Home-brew)
Maybe you are trying to install something from a developer who doesn't sign their code or doesn't have an Apple Developer ID? I'm curious what that might be.
Several of my virtualenvs are broken on Catalina - apparently the binaries installed by my requirements.txt are not signed for use in Catalina. I had to accept an amount number of dialog boxes by hand to make that work.
There have been others, too, beyond the virtualenvs, which I do not remember offhand.
This comment is quite removed from the reality of using a Mac. I've never even considered bypassing Gatekeeper because it's never been in my way. But bypassing these Gatekeeper checks is comparable in difficulty to adding a second repo to Debian to install apps outside Debian's repo. Are you suggesting Debian is guilty of this too?
I mean, I get it, it’s fast. That’s good. But it’s so obvious people worry about the trend, not the exact current state.
It's easy to disable the check and a lot of software never gets checked for other reasons.
One folk's bug is another folk's feature
Historically people bought Macs because they run MacOS instead of Windows.
It's funny how quickly the debate changes once the bang-for-the-buck went completely upside-down.
I mean, one folk's bug is another folk's feature, right?
Relevant exchange: https://news.ycombinator.com/item?id=25164195
If I were to rearrange your response to fit the above exchange, it would be in the form of: "Learn to use MacOS instead. It's faster than using Linux and makes it much less important.". Couldn't I reply with "Why do you not want people to use MacOS?"
There's still the issue with the keyboard having 7 fewer keys than a modern ThinkPad, and compared to the classic 7-row ThinkPad keyboard, 15 physical keys are missing. That's a considerable disadvantage. Mac laptops have superior displays, but we're using keyboard just as often.
That has a correct keyboard.
Is there any hope that this will happen in a reasonable timeframe?
I'm very happy running Linux on my (rather old) MacBook Air, which is hardware-wise the best (not in performance but in comfort, durability, design) laptop I've used yet. I want to change because it's starting to show its limits now, but I haven't found yet something to replace it.
I really wish Apple-detractors would find something true to complain about instead of spreading this misinformation.
So yeah, misinformation.
Oh, god. Stuck is not even close to define the joy of OSX. I've been "stuck" with OSX for 10 years and every time I tried the waters of windows or ubuntu again I came home crying.
Not perfect since Sierra? Yes. Windows and Ubuntu not even close? Yes. Personal opinion? Yes. Hardware was crap for last 2 years and make me consider moving back to windows? F* yes!
But now with those M1 chips I'm already saving money for an Air (very very expensive in Brazil).
What the hell, Apple, I thought I was safe and immune from video games with my MacBooks.
In the article here they show Minecraft running at native res and 60 fps. No small feat nowadays considering draw distances that are popular now.
So I find it hard to believe that it will run with max settings / 60 fps on the new MBP, despite the lower native screen resolution.
The comments here also say 25fps on max settings in Stormwind: https://www.youtube.com/watch?v=mIbEIhizoXY
At native 4K and max settings, it's in the low 20's.
At 1920x1080 and max settings it's at ~35fps. To get it close to 60fps it needs level 7 details at 1920x1080. That's in non-crowded typical quest areas.
https://docs.google.com/spreadsheets/d/1er-NivvuIheDmIKBVRu3...
If the reports are to be believed on performance and Rosetta than this upgrade may be one of the smoothest in Apple history. The Intel CPU has had an incredibly long run, 15 years, at Apple. If they are confident they can make the leap and not leave their users in the lurch more power to them.
I'm still on the fence on buying an M1 laptop. Apple users know you pay an Apple tax and a v1 tax. My MBP is getting so long in the tooth I may have to ignore my own advice of not getting first generation Apple hardware.
A laptop that satisfy my long battery life ultrabook experience AND capable to run steam games without compensating on performance.
Though the 13" air is not in the same target user group vs. the 15" pro, so you might not find the same excitement as I did.
I don't ever recall regretting something I've purchased, say, more than 1 month ago. The act of purchase is foregone past by that point.
My dream laptop would be an iPad Pro 12.9 with a Magic Keyboard and M1 chip which could run both full screen iOS apps and full Mac OSX. In a perfect world it would have an extra USB-C port too.
But to be honest, just a regular macbook with a touchscreen would be great now. I've had enough of people trying to use my Macbook at work, prodding the screen to try and scroll down, then trying and failing to do the two finger scroll gesture on the touchpad.
While the risks are probably less than they were earlier in Apple's history, I'd much rather take a chance on a first-generation Apple Silicon SoC than on a first-generation MacBook Pro redesign.
The OS X release cycle back then was much slower. It was 4 and a half years between when Apple shipped the first Intel PCs and Snow Leppard was launched. Even then, Apple continued supporting and updating Leppard for a couple years after that. Even if you bought a PPC Mac on the last possible day, you still got 5-6 years out of the machine with security updates.
Seems to me like we'll see at least comparable support for Intel Macs going forward. Particularly since they will still be shipping Intel Macs for at least another year, possibly another 2 years.
I expect the v1 tax this time around is that the externals are exactly the same as the Intel machines. Compared to what laptops like the Dell XPS 13 are doing with larger screens in smaller bodies, the current Air and 13" Pro designs are getting a bit long in the tooth now.
I expect next year we'll see new design for the iMac with the M1X, or whatever the bigger variant will be called, as the current version is absolute dinosaur at this point, but I also think we'll see an updated design for the Air and 13" Pro (maybe 14" like how the 15" went to 16"—it would certainly help differentiate the Air and Pro a little more).
I think there are more devs invested in the macOS ecosystem with hardware during this transition than the last, so it would make sense for Apple to let those Intel hold outs still keep up with the latest macOS version.
I would say two or three cycles of macOS upgrades before they EOL Intel support.
It probably creates a social divide at least that which existed when the majority of people couldn't read or write, and is just as "not OK".
Example of this in the first paragraph of this article: > For everyday users who just want to browse the web, stream some Netflix, maybe edit some documents, computers have been “perfectly fine” for the last decade.
These kind of things now read to me like "for the everyday peasant, that just wants to go to swim in the river, seal the roof of their house and get to work on time, clay tablets and stylus's have been perfectly fine for the last century"
Even the title screams this kind of thinking, computers are not black magic, any more than medicine or writing were magic or sorcery back when burning witches was a thing.
Makes me a little sad.
Is the new "peoples whose knowledge of reading and writing stops at being able to sign their name".
Which is more than can be said of people who dont know or understand their M1s from their Celerons.
Most consumer personal computers used to have relatively similar power as well as use cases; your Apple II, your neighbors Apple II, and Apple IIs at corporate offices would not have differed as much as personal computers do these days.
These days, there are large differences across segments - anything from school children using chromebooks to enthusiasts running homelab servers.
Not just a gradient of computing power, but also use cases: home archivists with a lot of storage; gamers with beefy graphics cards; media creators with expensive monitors; chrome tab hoarders always downloading more RAM...
I don't think it's that we treat school children using chromebooks as peasants, and treat enthusiasts like kings. We are rather now able to cater well to various segments, and this variety of product offerings to consumers is a good thing.
I think the article's general assertion that the computing advances in question have more to contribute to certain uses cases more than others is more than fair.
Understanding how computers work down to being able to describe L1 instruction caches and how prefetching works and why having an 8 instruction wide decoder pulling from a giant L1I cache isn't really relevant to empowering people. Most people are going to be more empowered by using computers more efficiently to prepare documents and presentations to assist their other endeavors. I think those people can be forgiven for not getting excited that now they have "8 cores" or "16 cores" or "32 cores". Conversely, getting drastically improved battery life is an immediate and tangible improvement in the day-to-day lives of people.
Being illiterate creates a societal gap because it prevents the free spread of information, and creates a class hierarchy centered around controlling the spread of information. How does not understanding how computers work limit people?
> "how much of a divide there now is"
You seem to be insinuating that, used to, people were "more literate" and are becoming more ignorant. What if it's just that computers have become easier to use and more prevalent?More people are using computers to communicate now than ever before. This seems to be the opposite of "peasants not knowing how to write". People have more opportunity to reach out and grow.
There are problems in controlling information and infrastructure, who owns all our data, and who controls social media along with privacy concerns, and maybe one of the solutions to these problems is more tech education, but this seems orthogonal to your concerns.
No, I'm saying the goalposts moved - a lot. The same way widespread reading and writing moved the goalposts back in the day.
>How does not understanding how computers work limit people?
It puts them in the class that considers computers to be magic, like not knowing how to read and write put people in a class that considered industrial machinery and accounting to be magic.
In a world where computers do all the high paid jobs..... thats as low a class as being generally illiterate.
To put it really simply "computer illiterate" Is now a thing.
Actual written definition being: not able to use computers well, or not understanding basic things about computers
Didn't used to be. Wonder when it was added https://dictionary.cambridge.org/dictionary/english/computer...
edit:March 2008 https://public.oed.com/updates/new-words-list-march-2008/
How much do you need to know about how your car works to benefit from driving it?
If I want to know what happened today, I can read the newspaper. If I want to know what happened on Nov 25, every year, I could write a quick script fetching this information from some source and look at that list showing Nov 25 (although yes, Wikipedia provides some of that info).
Computer Literacy provides tools to interact with information.
As an example, I'm (mostly) car illiterate, I just don't have the time and energy to commit to something that do what I want and works 99.99% of the time.
It's kind of like saying there's a huge divide between "house literate" people, who know how everything in their home is built and how to fix it, and "house illiterate" people who just want to come home, turn on the lights, use the shower, the oven and the bed.
Yeah, like that.
Going with my analogy, someone who built their own house in the favelas is, in fact, "house literate". Their home might be sub-standard, but they can take care of it all on their own.
There's more people tinkering with dev boards and writing open source software, too, so it's not all bad.
With likely similar implications.
Which makes me sad.
And people just don't care because they don't know how or why it affects them, until it's too late.
Can't really force everyone to learn IT more in-depth, but maybe making IT/computing a higher priority in schools is a good idea.
"Computer Literacy provides tools to interact with information."
Easy to forget the iPhone was ~2007, prior to this computers were still a fairly niche market and Android still in its infancy, computer literacy gave an advantage but computer illiteracy wasn't really a big disadvantage.
Now literally every industry from mom and pop stores to basic healthcare demand a pretty high level of computer literacy to the point they don't survive long without it.
Nobody needs to know (or cares) how a car works - EXCEPT professionals and enthusiasts.
> For everyday users who just want to take some holiday snaps, record their kids making a mess and maybe print a few small pics, point n shoot cameras have been “perfectly fine” for the last decade.
Nobody needs to know (or cares) how a SLR works or all of it's features - EXCEPT professionals and enthusiasts.
We can go on and on with this. I don't think it says anything about a divide, it says that our world is so sophisticated and complicated there are entire devices and areas of society that most of us use on a daily basis, but for which we have no care about how it works. That's perfectly fine.
Those things were reasonably well solved almost two orders of magnitude ago.
Software never bothered to optimize for snappiness, despite so many opportunities. So we got stuck with the same kinda-good response, and for mobile, a much more questionable kinda-ok battery life of 3-6 hours.
I mean, on a couple of node shrinks where the efficiency improved (because clock speed wasn't), could we have please attacked the battery life?
It takes an architecture change to highlight how inefficient desktop is. Unfortunately, desktop is an afterthought in terms of investment. The best hope for actual optimization is convergence with the phone OSs, which this is the first step of.
It's less that desktop OSes are feature complete, and more that vendors want recurring cloud subscription fees from users for new features these days.
You can turn off all the telemetry in macOS and they ask you if you want it on when you setup the computer.
Agree to disagree on Big Sur, I love the new look. Keep in mind they’re calling it macOS 11, so there are probably bigger and less superficial changes down the road.
That's false. You can turn off OS analytics but there is tons of telemetry built into almost every Apple app, separate from that, that you cannot disable. It tells you about it on first app launch. Open Maps, for example, and it will tell you about the unique, rotating identifier it uses to track your searches. Opting out of OS analytics does not disable telemetry for the other Apple services now deeply integrated in the OS. Even disabling these features doesn't prevent the mac from talking to the services, such as in the case of Siri.
Additionally gatekeeper OCSP checks on app launches serve as telemetry in practice, and this has no preference or setting to disable it.
https://www.obdev.at/support/littlesnitch/245913651253917
It's 5.x that uses the new restricted APIs.
I'm going to contact the developers and ask for an ARM build of 4.x so the same trick will work on M1, at least until Apple forbids all kexts some time in the future.
If you're trying to prevent data exfiltration, you don't trust the client at all — confine it to a dedicated locked-down system on a restricted network which only allows egress to the minimal subset of trusted services. That's a much more winnable battle than trying to prevent every possibility on a general purpose computer running tons of things which are allowed to connect to the internet and legitimately uses lots of outside services.
Similarly, a lot of the data breaches you hear about are caused by people with legitimate access saving the data somewhere insecurely. Spending time on that is a lot more beneficial to most organizations than tracking every TCP socket.
Telemetry doesn't imply intent. Many things serve great as telemetry that aren't intended to be such. There's no way to limit the way the raw data collected can be mined later, offline.
https://github.com/kholia/OSX-KVM if you need an easy way to fire up a fresh install.
This is just a check that the developer's certificate hasn't been revoked or expired. I wouldn't call it telemetry.
Apple has said they're working on allowing users to opt-out of Gatekeeper checks if that's what people want.
Details—https://eclecticlight.co/2020/11/16/checks-on-executable-cod...
It's an unencrypted network transmission of a unique identifier, at the time of an app launch, that maps to a single app for 99% of cases (due to the fact that almost all developers publish only a single app). That's objectively telemetry no matter what you call it, irrespective of the intent of the designers.
Approximately 0% of all users of macOS will change this setting, so Apple adding a preference toggle (that defaults to "send my local app launches to Apple via the network") is irrelevant from a privacy perspective.
There's no objective definition of "telemetry" that I know of, though, and this is a purely functional feature implemented straightforwardly. They are moving towards encrypting the requests, too.
Whether or not you can toggle something is absolutely relevant from a privacy perspective. Gatekeeper is something that should be on by default anyways, and I personally am more concerned about my endpoint security than Apple getting pinged with a signature when I open an app.
As the article states [1], Apple is changing to an encrypted connection, the IP addresses are no longer logged and the checks never included the Apple ID of the user or the identity of the user's device. Definitely not telemetry.
[1] For those concerned with protecting their privacy, Apple makes it clear that “these security checks have never included the user’s Apple ID or the identity of their device”, and that it has stopped logging IP addresses.
The fact that Apple isn't logging the IPs any longer is irrelevant. The data is unencrypted, and your ISP and their ISP and everyone in between can log the data.
The fact that it doesn't include the Apple ID or device identity is similarly irrelevant. The IP address also communicates unique identifiers to other services (including at Apple), so the IP address is sufficient unique identifier in this instance. Additionally, even if one doesn't have any access to those other records mapping the IP address to the user (held by Apple, the carrier, and many others), simply monitoring the specific set of apps that are opened (again, because the data is unencrypted) is sufficient in many cases to fingerprint and uniquely identify the device.
PS. Emacs is great, and I am thankful that Apple decisions have pushed me to replace Devonthink and start using Org Mode instead.:)
Agree. Hardcore Linux user (custom KDE theme) here, and I have to say that macOS 11 is easily the most aesthetically appealing desktop theme I've ever seen. Just completely mops the floor with everything else, especially the previous version of macOS. The changed margins / white space are great, colors fantastic (eerily similar to the ones I use on KDE), perfect font rendering (as always), and I really love the changes to Finder.
In terms of actual usage I have quite a few issues, of course. Requires some heavy work with Karabiner and settings changes to make it usable, in my opinion, and you still can't beat KDE because of its customizability. But in terms of pure visual appeal it's unmatched. Apple's visual design team is the best.
That said, I don't use the App Store at all (at least as far as I can help it), nor do I really use any Mac specific apps (Photos, QuickTime, iTunes, etc) since this is a development machine, so a lot of rough edges are probably invisible to me.
Parkinson's Law: Work expands so as to fill the time available for its completion.
Applied to computers, if you double the CPU speed, the program can be half as efficient with no apparent loss to the user. Similar with memory. If you can assume your typical gamer has a 2TB (or now much larger) storage capacity, you can ship a 250GB game. But then it gets complicated when everyone does the same thing. If every program is half as efficient as it could be (in CPU usage or memory), then there has been no gain with the new system.
If consumers are replacing their computers to do things they couldn't do ten years ago, then great, that's a good use of resources!
If consumers are replacing their computers because today's IM clients are 10x slower than the perfectly good clients we had ten years ago, that's a problem!
Electron 15: The Life machine has been re-implemented as a series of GPU instructions, which will use up approximately 93% of most users' graphics performance in return for a 20% speedup!
Sooner or later this is going to turn into that movie Inception.
Seriously why can't we just fix the bottom layers!!! Why does every problem have to be solved by adding ever more layers!
Basically, no way you'd just be waiting an extra month for your native version.
Unless on x86 some of the 'free's when the ref counts hit 0 were being batched up and deferred, and that doesn't need to happen now?
I guess it makes reference counting in general more efficient, I'm just saying I don't see why that would mean Apple Silicon Macs running ObjectC/Swift code would have less memory usage than the same code compiled and running on x86.
This is fascinating to me, because:
(a) every 8GB Mac I've used in the past has been unusably slow
(b) since upgrading my 32GB Hackintosh to Big Sur, my usual 40GB working set is only about 20GB.
(c) My 2015 16GB MBPr with Big Sur is also using about half as much physical memory on the same workload. Swappiness is up a little, but I haven't noticed.
So my guess is that something in Big Sur has dramatically reduced memory consumption and that fix is being commingled with the M1 announce.
The advantage of Swift/ARC is not that it uses less memory per se but that it has a lower high water mark because memory is freed much sooner.
Java makes a lot of memory guarantees that are hard to make efficient. Specifically in that it becomes extremely hard to have a scoped allocation. Escape analysis helps, but the nature of Java's GC'd + no value types means it's basically never good at memory efficiency. Memory performance can be theoretically good, but efficiency not really. That's just part of the tradeoff it's making. And nearly everything is behind a reference, making everything far larger than it could be.
Compaction helps reduce fragmentation, but it comes at the cost of necessarily doubling the size of everything being compacted. Only temporarily, but those high-water spikes are what kicks things to swap, too.
Object-oriented programs in Objective-C are written in a very different fashion from Java programs. Java programs tend to have very fine granularity on their objects. Objective-C programs tend to have interfaces which are bulkier, and larger objects.
That is partly why you can have a high performance 3D API like Metal written in a language such as Objective-C which has very slow method dispatch. It works because the granularity of the objects have been designed with that in mind.
The only situation I ever ran into where it was a problem was in trying to run multiple VM's at once.
Otherwise it's just a non-issue. Programs often reserve a lot more memory than they actually use (zero hit in performance) so memory stats are misleading, and the OS is really good at swapping memory not touched in a while to the SSD without you noticing.
Yes, sometimes it takes a couple seconds to switch to a tab I haven't touched in Chrome in days because it's got to swap it back in from the SSD. Who cares?
I'm not claiming anything of the sort.
My point is that memory consumption seems to be greatly reduced in Big Sur, and that might make 8GB machines much better to use than before. All of my testing is on Intel machines. It's not exclusively an M1 phenomenon.
I would still recommend 16GB to anyone, and if the extra $200 was a factor, I would recommend that they buy last year's Intel with 16GB of RAM.
You kind of did:
> (a) every 8GB Mac I've used in the past has been unusably slow
Personally, I stick to 16GB+ as well. Though my wife's Mac likely has 4GB since it's something like 8 years old and it runs just fine.
Usually if I'm running Safari, Firefox and my 4GB Linux VM, that's 16-18GB used up in those. At the moment I have a few other things open, PDF viewer, Word, iTerms, Emacs etc, but nothing huge.
Most of the time this level of usage is ok, but I've had times where I've had to wait 30+ seconds for the UI to respond at all (even the Dock or switching workspaces) and wondered if the system had crashed.
For that reason I'm generally waiting for the next 32GB model before committing, that's assuming I stick with Apple instead of switching back to Linux (which I used for ~20 years before trying the MBP).
If you have multiple browsers with hundreds of tabs, the majority of those tabs are probably swapped out to your SSD already.
With swapfiles and SSD's, physical memory is less and less relevant except when you're performing very specific computational tasks that actually require everything to be simultaneously in memory -- things like highly complex video effects rendering.
How do you measure "running out" of your 24 GiB? And what happens when you do "run out"?
So I put on my engineering hat and pull up Activity Monitor and further observe (a) high memory pressure, (b) high memory consumption attributed to Chrome or Firefox, (c) high levels of swap usage, (d) high levels of disk I/O attributed to kerneltask or nothing, depending on macOS version, which is the swapper task.
I close some tabs. I then observe that the problems go away.
Swap isn't a silver bullet, not even at 3Gbytes/sec. It is slow. I haven't even touched on GPU memory pressure which swaps back to sysram, which puts further pressure on disk swap.
It's slow.
It makes it unrepresentative and doesn't contribute anything useful to the conversation about memory requirements for normal operation.
A bigger desk is not the solution to this problem.
You can run 4GB if you're fine with having most of your applications swapped out, but the experience will be excruciating.
Physical memory is still as relevant as it was 30 years ago. No offense but if you can't see the problem, you probably have never used a computer with enough RAM to fit everything in memory + have enough spare for file caching.
I may be not average, but just my Safari can take up >20GB—at least that's how much my "free" grows in MenuMeters when I quit it.
The stats are absolutely reliable because no physical memory page is allocated until it is actually used to store something. So allocating a large chunk of unused memory wouldn't show in the (physical) memory usage stat.
Nah, sorry, but you're wrong. I had to upgrade my laptop because I wanted to run Firefox, IntelliJ IDEA and an Android emulator on the same machine. Nothing else. This was not possible on 8GB ram.
So it's not like multiple VMs are needed and above scenario is pretty average for a common mobile developer (but still not an average user, I admit)
Second thing is, lots of games require 16 GB RAM. Maybe gamers are still not average users, I don't know.
Well, that's one (largish) VM.
I did and performance was horrible. For just iOS or macOS dev, 8 GB could be fine though.
Has anyone actually used one of these long enough to fairly compare with an x year old laptop in regular use?
...and that's basically why x86_64 was specified to require a particular bit pattern in high-order bits - it was to stop applications and OS programmers from writing a bunch of software with tagged pointers which would tie Intel's and AMD's hands when adding address lines. I guess Apple is ok with tying their own hands.
So if you cut off the top 8 bytes of a 32bit register and leave yourself with 24 bits, you can't even give a pointer to each person in Tokyo, but you cut off the top 8 bits of a 64 bit pointer you can still give a pointer to each atom of every human being on earth?
For what I understand, the isa pointer is sorta-kinda similar to a vtable pointer in C++.
huge memory bandwidth relative to ram size + os level memory compression => massive reduction in memory pressure for many many many workloads.
macos has supported memory compression for awhile now -- i would hypothesize that M1 may have massively improved that subsystem in ways that actually do translate into needing less memory on average for a lot of common real-world workloads that amount to "human timescale multitasking" between large working sets -- eg i click this app and it has a huge working set and then click into another that has a large working set and then click back -- with those clicks that represent application context switches occurring very very rarely in machine time scale.
If memory compression subsystem can swap working sets into and out of compressed memory space insanely quickly with low power usage then the os might've gotten very aggressive about using that feature to put not recently accessed memory into compressed memory space.
Garbage Collectors and JITs typically work best with hardware support, as you need to check pointer reads and writes as objects are being moved around or code is being rewritten. A lot of these systems use MMU gymnastics, such as mapping the same memory page into multiple locations with different permissions.
You also have systems where you create the objects knowing that they will be tiny and short-lived with a fixed lifetime, which can be hugely efficient. This is how Apache Bucket brigades work, since they know that other than a few special cases all memory allocated while handling a request will be garbage once a response is returned.
First, java ends up doing a huge number of heap allocations that are just stack allocations for other system languages.
Second, java might have some heap allocation optimization, but it's still a huge performance sink to allocate in a tight loop.
Third, reference counting is not slow. Incrementing or decrementing an integer only when a variable isn't moved can be both cheap and rare. Even better, it is deterministic. Garbage collection gets its optimization from doing bulk operations, which is exactly what becomes a problem. Any speed up pales in comparison to the speed advantage of avoiding those allocations all together. Once allocations are not weighing down performance, the lack of pauses and deterministic behavior of reference counting is an even larger advantage.
You can say that memory 'has already been allocated from the kernel' but that is what heap allocators do in any language. Jemalloc maps virtual memory and puts it into pools for sizes and threads.
At the end of the day, taking out excessive allocations is usually a trivial optimization to make. It is usually trivial to avoid in the first place. Languages fighting their garbage collector and promising the next version will have one that is faster and/or lower latency is a cycle that has been going on before java was first released. At a certain point I think people should accept that stack allocations and moves of heap allocations take care of the vast majority of scenarios and actual reference counting in this context is not a problem. Variable with unknown lifetimes should only be needed when communicating with unknown components. Garbage collection on the other hand has been a constant problem as soon as there is any neccesity for interactivity.
If the lower level hardware instruction does not exist, you use multiple of other instructions to emulate that.
If you add a low level instruction that maps a very common high level operation in hardware, you don't need to call 5 to 10 software functions(extremely expensive),each calling lots of opcodes but just can execute a single opcode and works by hardware beings extremely faster.
It is not hard to be better than Microsoft here. From my personal experience and having disassembled lots of their code they always were lazy bastards. They cared 0 about efficiency. Why should they? They had monopolies like Office or Windows giving them over 95% margins. They could just use the money they printed to buy everything instead of competing.
Lisp machines did that (adding opcodes that map the high level language) with the most common Lisp operators. Those machines were extremely expensive, in the hundreds of thousands of dollars because few could afford that. Apple sells in massive scale, in the hundreds of millions of CPUs per year, making this cheap for them.
Typically these language oriented instructions need to be implemented by microcode in the CPU. Often this does not create a fast system, but it helps to keep the compiler simple. Examples are typical Lisp Machines, you've mentioned. With RISC CPUs OTOH the idea is to make the CPU instructions more primitive and put more effort into optimizing compilers instead. There were a few attempts to combine (high) language supporting architecture and the RISC principle, but I personally have never seen such a machine.
> in the hundreds of thousands of dollars
Usually in the 'tens of thousands of dollars'.
Languages like Java also do not yet support stack-allocated value types outside a few primitives like integers, and heap allocations are both slower and less space efficient due to the indirection and memory management.
I could see them just saying no to following TSO for single core stuff and when running emulated code for single core performance benchmarks since technically you don't care about ordering for single core operation/correctness. That would speed up their single core stuff but then what about the multi-core.
A toggle that makes the chip treat all loads and stores from that thread as TSO.
I don't really know much about the internals of macOS but figuring out when there are applications for example running on two different cores (since TSO is only really needed for multi-core use cases) that need to access the same memory and then applying TSO on the fly like that seems difficult. If that is what Rosetta2 is actually doing, that is impressive.
It’s really ‘Apple Silicon’ and not just ARM.
Yeah, I think that's key to understanding this. They are supporting a version of ARM ISA running that maintains TSO even though official ARM doesn't need to support TSO. I guess this is all to get better emulation performance and avoid those extra synchronization instructions that would have to be added by Rosetta if the silicon did not have TSO support.
There's also a similar MSR for 4k vs 16k page sizes I think, another x86 vs Apple Silicon discrepancy, but I'm not sure if Rosetta2 uses that, too.
For FTP, there is Transmit by Panic, which is quite neat. For web browsing, Big Sur's Safari finally works well (it's the first time I managed to do a switch from Chrome, after multiple tries).
Time Machine backup is also awesome - I couldn't find anything working just as well for other OSs.
There are also some neat system-wide tricks you may like:
- you can set up a hot-corner in preferences to show the desktop. I have mine in bottom-right, that way if I want to move sth in and out of desktop, I grab it, do the hot-corner, and drop.
- most file-editing apps have an icon next to a file-name in the window bar. you can drag&drop that icon to copy file etc. if you command-click the icon, the whole path to the file get revealed
- you can drag & drop files to every open file dialog in the system. super-handy
- home/end/pgup/pgdown keys are missing on the keyboard, but Emacs shortcuts work throught the whole system, e.g. Ctrl+A, Ctrl+E = home/end in every text dialog
- command+option+shift+v = paste without style, if you want to paste something into a wysiwyg text editor as a plain text
- command+shift+4 - screenshot of a part of the screen. also can serve as a pixel ruler, since it shows how many pixels you are grabbing
- Cmd+Up/Cmd+Down - navigate within the filesystem
In general, for me as a dev - the best thing about MacOS is how much of the stuff is built-in, and a ton of system features that are consistent through all the apps. That, and a linux-style console/filesystem :)
[2] https://www.howtogeek.com/409904/how-to-turn-your-mac’s-caps...
I think the M1 is one more force towards the pendulum swinging back. I suspect that as developers port applications to ARM people will rediscover the benefits of native installations as new software starts to take full advantage of this new hardware.
so a new architecture with better versions of the same instructions would feel very fast, since we went two steps back first.
The A-team was working on getting everything ready for M1. The B-team was working on the usual releases.
If the M1 is as good as everyone says, then that means they had the best people on it.
I guess I'm just caught up in the hype and excited about movement in the chip design space after many years of Intel stagnation. Zen and the M1 are a breath of fresh air.
Waiting to replace a 2014 11" MacBook Air until the story about Parallels support is clear and maybe new MacBook designs are available.
I also have a 2013 Mac Pro trashcan-style on my desk at work. Until recently it was simultaneously available in the inventory system and marked as EOL. I'm not sure if the 2020 6-core Intel Mac Mini would actually be faster - maybe. I'm only a part-time iOS developer so I keep trucking along with the 2013 model.
When Apple releases a MacBook Pro with 64GB of unified memory (assuming they will) — won’t that be amazing for machine learning? I am under the impression that GPU memory is a huge factor in performance. Also, is there any way that the neural engine can accelerate training — or is it just for executing trained models faster?
I think Apple is aiming more at either training small models, or running pre-trained models. For example Photoshop is starting to integrate neural filters, so NN inference performance can be important for some desktop applications.
Comparing raw numbers between vendors is always tricky, but it looks like Apple's "cores" are more like Nvidia's 'Streaming Multiprocessors' (SM's), of which their cards have between 14 and 100. M1 seems to perform similar to their older, mid-end desktop cards (1050 Ti has 6 SM's and M1 matches it in benchmarks).
[1] https://www.apple.com/newsroom/2020/11/apple-unleashes-m1/
So way better than a regular Intel CPU, I've heard comparisons with the GTX 1050. Definitely not going to replace a top of the line GPU for ML.
However, everything so far indicates these will be pretty powerful, as even the M1 is pretty beastly for what it is. So it's possible.
ARM was typically making very conservative reference designs keeping PPA in mind but now that they have customers asking for a higher TDP chips on the PC side. And they are already making bigger chips like Apple's with cortex X1 - https://www.anandtech.com/show/15813/arm-cortex-a78-cortex-x...
I'm generally not a fan of Apple as a company and own no Apple products but I've long acknowledged what they've been doing in mobile hardware has been miles better than what the competition has been doing - this isn't some sudden upset and entrance just a on-pace continuation of what has been going on for years. I only wish it was decoupled from their software.
That's basically just sorted by power consumption. 4900HS is the most power used & fastest, followed by the ~22W M1 with all 8 cores loaded, then the 15W 4800U, and then the M1 with just the 4 bigs was last.
AMD has done a great job with Zen 3 in particular, but IMO they are going to really struggle to compete with what Apple is able to do with ARM.
Similar the Intel NUC like AMD products are hitting, I expect them to be pretty attractive with the zen 3 APUs.
Sure I'd buy an M1, just not sure I want to switch to OSX, even the cut/paste inconsistencies drive me batty.
The truth is desktop Zen 3 is only decently ahead of certain multi core workloads at 10x or more the wattage, the rest is either very close or somehow behind. The mobile versions are already going to be week in comparison and it's going to be nothing but a travesty if the best hardware stays vendor locked to Apple only. Especially when the M2 (or whatever is next) rolls around as Apple has been on a steeper trajectory with in house silicon than Zen has been.
Zen 3 was never really compared to M1 in multicore workloads in that Anandtech M1 article. You linked a single-core one, and Zen 3 isn't using 10x the power in that single-threaded comparison, either.
Also the 27W TDP i7-1185G7 is keeping up with the also around 25w TDP M1 in spec2017 single-threaded. M1 is still faster, but more in the realm of a typical generational improvement.
That's very interesting. Thanks!
I've been a Linux user for the last 10 years. Last week I got an M1 Mac Mini to do some iOS development on.
It feels fast, but not substantially faster than Linux. Safari is a bit snappier than Firefox, but that's about it.
Was macOS on Intel really that much slower?
not really, except for maybe integrated intel graphics (switching monitors is the bane of my life)
that being said, the same or better performance of a high-end "hair-dryer" macbook pro in the form factor of a fanless macbook air and price-point + having increased battery-life is the huge draw imo
until now, we've never had that kind of high end performance in such a small, quiet and inexpensive form factor
https://forums.macrumors.com/threads/16-is-hot-noisy-with-an...
My colleague has a 4 year old dell laptop connected to 2 monitors doing all kinds of cpu demanding work while keeping his 100+ chrome tabs open. I never heard the darn machine cooler fans spinning.
1/ Sure, but that's also the case with with x86 Intel Macs. Still running reference-counting Obj-C and Swift software for the most part. So how is this a M1 differentiator?
2/ Also, Macs run plenty of software that mostly uses garbage collection, e.g. any Electron app (Spotify, Slack, Superhuman, etc.) is mostly implemented in GC'd Javascript. There's also plenty of software written with other runtimes like Java or implementing a GC.
So this does nothing to explain why 8GB of RAM on an OS X device with an M1 chip is better than 8GB of RAM on an OS X device with an x86 chip from Intel.
We may need to start a support group
The exciting (or depressing, for the 2020 crew) thing is that the fact that these M1 Macs are such a triumph probably does mean that these various rough edges will be smoothed out way faster than even I, a self admitted Apple fan, expected them to be.
I was thinking I'd be waiting until 2022 or 2023 before being ready as a developer to have my primary device be an Apple Silicon laptop. But with the overwhelming success of these chips, every developer wants to be on these things ASAP. I could easily see the ecosystem for Arm being radically improved over the next year.
https://github.com/Homebrew/brew/issues/7857
I've had more success using MacPorts (https://macports.org). About 80% of what I've tried has worked. Most things that don't work, you can download source and build it yourself. Autoconf, automake, cmake, pkg-config etc work via MacPorts.
What did make me faster though is compiling Rust is now soooooo much faster that it flies. I've been building some toy projects and the edit, compile, test cycle is now shortened so much that I find myself enjoying hacking on my projects more because there is no dead time while the compiler does its thing.
That alone is hugely important.
webpack is also faster, as is a lot of other things that don't require virtualization or docker. I bought the 13" MacBook Pro M1 to supplement and use occasionally alongside my 2017 MacBook Pro 15", but I find myself not having touched my 2017 MacBook Pro at all because I keep grabbing the 13" MacBook Pro.
It's incredibly fast, and the battery life is amazing, which allows me to not worry about where my charger is, or whether I am comfortable on the couch and damnit now I need to get up and plug in.
M1 machines have ways to go if you're going to use it as a developer. I hope they are worked out by the time the 16" M1 MBP gets released later next year. But I'd certainly get a non-M1 machine if I was replacing my daily driver today.
I have a top of the line MBP13 delivering in mid-December. I could cancel the order at any moment, but I'd rather have ports, software compatibility, and RAM.
M1 may benchmark well, but it isn't an EMP that magically disables every Intel machine on the face of the planet.
I'm excited to see what happens when Apple rolls out its own silicon for the higher-end MBP devices.
Apple certainly isn’t known for producing cost effective servers, but if they really posses this technology that leapfrogs commodity hardware they’d be crazy not to use it in every market possible, right?
MacStadium is one of those companies that provides Mac servers. They wrote about it: https://blog.macstadium.com/blog/developers-big-sur-and-vind...
... This may be the actual upgrade moment. I just hope time machine is compatible. likewise old (CS5) versions of Photoshop since I'm not into this subscription BS.
Take a conventional dockerized local dev environment and just start building stuff. How much time do you spend working around M1 arch issues versus building your app?
This is the key factor that is keeping me from being an early adopter. I don't get paid to figure out how to work on a new chip architecture, in fact I pay a lot of money to not have to think about those problems at all.
VSCode was slow for a bit, but I think it hadn’t synced my file exclude settings.
I desperately want one machine (and probably in the iPad form factor) but I don’t know if Apple is ever going to get me there.
What say you HN? Is there a future where I can have a single machine? Any other suggestions for what I can do about it today? I’ve test driven Surface computers in various flavors from friends of mine and I really can’t get down with Windows. Am I doomed to carry two machines with me all the time?
I have personally avoided laptops for years because I hate managing more than one machine. The one time a year I need my laptop, it's out of commission for a day while updates install or whatever. For that reason, I have a desktop and take an iPad Pro when I'm going to be away from home. The iPad is no computer replacement, but it can SSH places and can do enough work to justify not owning a laptop. More importantly, it can't have any configuration done to it. But if you already have a laptop, I would just skip the iPad entirely. The laptop is your "one device".
(Would I want a mobile processor as my primary means of doing work? Absolutely not. But, people seem to make it work... at the cost of being blown away by a new processor that's slower than HEDTs they could have been using for a few years ;)
I use the iPad for some work (editing photos, email, etc) but mostly I use it for entertainment. I’m using it now for web browsing, I watch TV/movies on it as I don’t have a TV and don’t always want to use my projector/screen setup, and I do some light gaming on it occasionally.
The laptop is for work, which is photo editing (again) video editing, design work, word processing, light web development, and various other business needs (accounting, spreadsheets, etc).
I’ve tried to switch to iPad only so I don’t have to cut out entertainment completely but almost everything work related is slower and more annoying on the iPad. So I end up with both.
As another commenter above mentioned if the iPad ran OSX I would probably just have the iPad, but here we are.
I really do think that a 13 or 15 inch MacBook Pro 2 in 1 like the Dell xps would sell pretty well...
[edit] fixed spell check
Fast-forward 2 years later browsing the web is slow as hell, battery runs out in an hour, can't even CMD-TAB without lagging.
Program expands so as to fill computer resources available for its execution.
It seems most of the hardware these days is used to run Windows/software updates and corporate security theatre malware.
but Man, these "user" reviews are making me drive towards a purchase and its going to punch a hole in my wallet!
looks apple has reinvented the chips / processors
I'm using zram on manjaro and I see it as a trade-off between RAM and CPU power.
And windows basically only runs on the amd64 architecture.
Hopefully, they'll start being bolder now. The MS ecosystem has been an anchor for hardware (especially desktop/laptops) innovation for far too long.
The downside of this SoC design, though, is that while you can fit 8GB or 16GB on a chip, it might be difficult to fit more. The 8/16GB limit might explain why this design is reserved to the smaller laptops for now, and they haven't replaced x86 in all of their lineup. If you want more RAM than that, then you would again be stuck with less memory bandwidth to your external RAM. You would maybe end up with a design where some applications are kept in the internal RAM and some in the external, or where your internal RAM acts as an L4 cache to the external RAM.
It's not that difficult IMO for Intel or AMD to replicate this with an x86 design. They might not have to modify the CPU core and its caches that much, mostly the memory controller. How much time they would need though, I'm not sure. There's some probability they were aware that this was coming and already had something in the works. Otherwise, maybe one or two years?
I hope the rest catch up though. If Apple dominates completely it'll be carnage for competition
On the other hand, it's not a foregone conclusion that higher performance systems will dominate the competition. For most Apple-focused users, this is a comparison between overheating Intel chips shoved into Macs, and these slick new M1 chips, and it's a no-brainer. And yes, the M1 does compete very well in several benchmarks on a per core/instruction per clock basis. But the higher end "many" core CPUs (especially outside the Intel universe cough AMD) with much higher TDP are still achieving much higher overall performance. Apple still has to catch up to them in those markets.
And for many people, right now Apple systems just are not an option. Not until all software and games run without issue. Software is a near certainty - games remain to be seen, but Apple has not prioritized them in the past. (And while the M1 integrated graphics are great, they are not at all competitive with existing dedicated graphics, and will not be suitable for replacing gaming systems.)
Did you see the AnandTech review of the Mac mini with the M1?
The M1 undisputedly outperforms the core performance of
everything Intel has to offer, and battles it with
AMD’s new Zen3, winning some, losing some. And in
the mobile space in particular, there doesn’t seem
to be an equivalent in either ST or MT performance
– at least within the same power budgets.
What’s really important for the general public and Apple’s
success is the fact that the performance of the M1 doesn’t
feel any different than if you were using a very
high-end Intel or AMD CPU. Apple achieving this in-house
with their own design is a paradigm shift, and in the
future will allow them to achieve a certain level of
software-hardware vertical integration that just hasn’t
been seen before and isn’t achieved yet by anybody else.
And for many people, right now Apple systems just are not an option. Not until all software and games run without issue. Software is a near certainty - games remain to be seen, but Apple has not prioritized them in the past. (And while the M1 integrated graphics are great, they are not at all competitive with existing dedicated graphics, and will not be suitable for replacing gaming systems.)AnandTech's section is called "M1 GPU Performance: Integrated King, Discrete Rival" which should tell you what's up. Spoiler—it's more than competitive with dedicated graphics and certainly none of them can touch it when it comes to power consumption. And remember, this is the *low-end chip; wait until what we see in the next generation.
Finally, putting theory to practice, we have Rise of the Tomb Raider.
Released in 2016, this game has a proper Mac port and a built-in
benchmark, allowing us to look at the M1 in a gaming scenario and
compare it to some other Windows laptops. This game is admittedly
slightly older, but its performance requirements are a good match
for the kind of performance the M1 is designed to offer. Finally,
it should be noted that this is an x86 game – it hasn’t been ported
over to Arm – so the CPU side of the game is running through Rosetta.
At our 768p Value settings, the Mac Mini is delivering well over 60fps
here. Once again it’s vastly ahead of the 2018 Intel-based Mac Mini,
as well as every other integrated GPU in this stack. Even the 15-inch
MBP and its Radeon Pro 560 are still trailing the Mac Mini by over 25%,
and it takes a Ryzen laptop with a Radeon 560X to finally pull even
with the Mac Mini.That's showing a 45W AMD Zen 2 mobile chip outperforming the Macbook Pro M1 11k to 7.5k in Cinebench R23.
Apple Silicon M1 does not outperform "many" core high TDP processors. Yes, they have amazing IPC, but they have 4 cores and a low TDP. I didn't dispute that. It's really incredible. But I'll repeat that it's not a foregone conclusion that they can translate that into higher core, higher performance and outright win/embarrass AMD. Maybe they will - we are just putting forth conjecture. Extracting all that performance with low power usage is certainly winning half the battle, and making bigger chips with more cores will get Apple a long way. Remains to be seen but it's far too soon to say "the rest catch up..." when it comes to those markets.
And I mentioned gamers and dedicated graphics - you countered with a comparison with the 2018 Mini at 768p resolution and a Radeon Pro 560? Meanwhile gamers are playing 2k and 4k games with RTX 3000 series and RX 6000 series cards (if they can get their hands on them.) And many games simply cannot be played on macOS.
Neither the M1 nor the above crazy expensive power-hungry graphics cards are a one-size-fits-all solution. And it may come to pass that Apple starts to compete in those areas and really does embarrass all competitors. But it hasn't happened yet, so I think such proclamations are premature.
But even the M1 isn't an order of magnitude ahead on power/performance ratio. It's the leader, but it's sure as shit not 10x faster for the same power draw.
Android phones with Qualcom Snapdragon 865 scores better than an Intel i7 7700HQ (4 cores, 8 threads) on Geekbench on multi-core and ties on single core while using a magnitude less energy.
While this i7 model is not new, it's not the "U" low voltage processor version.
I could see Qualcom getting fancy and trying to scale their processors at 5nm.
https://browser.geekbench.com/android_devices/oneplus-8
https://browser.geekbench.com/processors/intel-core-i7-7700h...
Single core performance is ~17.5% better and multi-core performance is ~51.2% better than the 865. The numbers are still surprisingly close given that the Snapdragon uses significantly less power.
https://browser.geekbench.com/processors/intel-core-i7-9750h
Shows how poor is Intel's form lately.
Or the 15w Ryzen 4800U's results https://browser.geekbench.com/v5/cpu/4972763
VLIW and other advanced designs never went mainstream in part because the AOT on install/JIT everything future never arrived. But with the success of Rosetta 2, has that future finally arrived?
I think this is an “INDUSTRY FUCKED” moment.
Like, nothing. They design the whole computer, from chip to OS, but they own no factories.
Which is pretty remarkable, when you think about it. If you went back to the DEC era and said that the most valuable vendor of computers in the world would do no manufacturing in 2020, not many people would buy it.
Apple is going to make an absolute killing on people upgrading RAM unnecessarily.
Similar workflow peaks at barely 6gb on the macbook pro.
You can see a concrete example of this here: https://www.youtube.com/watch?v=PP1_4wek4nI The 16GB Macbook Pro is "using" more memory than the 8GB model to run the exact same tasks.
I wish I could feel excited about this, but my first thought is that web developers probably have a huge wish list of things they're ready to unleash to eat up that 50%. I was expecting to get a nice 5-7 year lifetime from my early 2020 Macbook Pro. Maybe I should revise my expectations, especially if more and more desktop apps are going to be built on web technology.
Unfortunately, while the hardware has accelerated far beyond expectations, the software - specifically MacOS BigSur is a major step backward. So many fucking animations. Everything feels fluid like operating in molasses. The UI changes seem to be shoe horned into a desktop that doesn’t need giant white space for fat fingers. Menu bars are twice as tall taking up precious space. Top bar was already crammed with a lot of icons. Now, they’ve made them sparsely spaced by adding padding between the icons. Everything is baby-like with rounded corners and without borders. Segmentation UI elements are no more. I want to ask Apple’s UI team: WHY!? What is currently wrong with macOS Catalina UI? Until you can satisfactorily answer that, there shouldn’t be any change. Stop changing the UI like you’re working at Hermès. It’s not fashion. If the reason is to unify everything, all screen sizes, then you’re sacrificing all three. Perhaps making it easy to develop apps for all 3 platforms is a plus, but as a user, this all feels like a regression. I’ve lost hope in modern UI engineering. It’s not engineering anymore.
I want macOS that has a UI of Windows 95. That would be totally insane on Apple Silicon.
I’d buy a Surface Studio style iMac in a heartbeat.
Not expecting them to, but maybe one day.
Probably not. Apple has said they've prototyped touch screen Macs and from a UI/UX perspective, it doesn't really work. They've recently downplayed touchscreen Mac talk recently [1].
What Apple has shown is iPadOS becoming more like macOS, supporting a keyboard and a mouse instead of the other way around.
I have a 2-in-1 Surface on loan and it's not particularly good at being a laptop or a tablet because of the design tradeoffs that have to be made. Apple is unlikely to make such a device unless there's some kind of UI/UX breakthrough.
[1]: https://9to5mac.com/2020/11/12/apple-touchscreen-mac-intervi...
Again, not to rule anything out but I wouldn't hold my breath.
They say it's some fridge and microwave whatever excuse, but the real reason is money. The M1 chip itself lowers their costs by almost $3B.
Unfortunately you are wrong. Everything we call tech is in fact driven by fashion.
My older version Mac is badgering me to upgrade to Bug Sur. Top feature: 100 new emojis. That is what Apple prioritised. Why the hell are emojis even part of the OS let alone its top feature!
Truth is GUIs are done, were a decade or more ago. All there is left now is change for the sake of change. And Apple can’t think of anything more to do in the real OS either!
UIs are definitely fashion. We're going round and round in circles and things aren't getting better, IMHO.
Because Apple controls the end devices an OS update is very simple and goes out to basically all users so they don't have to rely on weird slide loading hacks that are typical for platforms like Android.
Rendering a font, and a font, are two different things no? It should need an OS update to add some more characters.
It is a cheap and immediately gratifying feature whereas users might not care about or understand the more substantive parts of an update.
I’m saying this like an old man (even though I’m not even close), but we’ve seen it before and we’ll see it again.
If you want functionality, you need a non-Mac running Linux. I'm just hoping we have better silicon options soon, for those of us who don't want customization-unfriendly, upgrade-unfriendly Apple hardware.
Yes, Apple is super conscious of design, occasionally to an obvious fault, from "butterfly" keyboards back through the G4 Cube. But they've absolutely always been interested in aiming for seriously high-end machines, from all of the Mac Pro incarnations all the way back to oldies like the Mac IIfx.
I hope other people make competitive silicon, too. I want Linux around and high-performing, and it's still a bit of an open question what the future holds for development environments on ARM-based Macs. But it is just so wearying for people who are otherwise technically literate to still be trotting out "Apple has never cared about anything but looks" after literally decades of obvious counter-examples.
"I'm a Mac." "And I'm a PC." was _absolutely_ designed to appeal to the fashionable, "hey, you're going to be far cooler than this stuffy nerd" than just "functionality and performance".
So, in among everything else, they absolutely do care about looks. I'll agree that they don't "[not care] about anything but looks", but it's a part of the brand.
I'll give them the Apple silicon, but remember the iPhone X's advertising? "We've always wanted a phone that was all screen." Guess what, Android has been that way all along. High-end Samsung, Xiaomi, HTC phones were always that way. Apple just marketed it.
Now that Pixel 5 got rid of the notch entirely, expect the iPhone 13 to have that too. Just that Pixel didn't care to actually market it. You bet Apple will.
The touchpads on Apple laptops are much better than what you can find on other laptops. The screens are much clearer. The weight isn't too much, and they're not huge; easy to move around with.
I'm very keen on getting back onto Ubuntu, but there's just no equivalent laptops in terms of hardware.
FWIW, I am blown away by my M1 Mac, but my x86 Mac feels about 5-10% snappier on Big Sur.
For clarification, do you mean your x86 with Big Sur is faster 5-10% faster than you M1 with Big Sur, or is it compared with the same machine running what I'm going to guess is Catalina?
The M1 MBA (16gb RAM) feels snappier and more responsive in almost every way to my Mac Mini w/64gb of RAM. RAM usage is also noticeably lower on the M1 when I migrated my browser tabs over (500+ between Firefox and Safari).
(The changes to menu bar icon behavior, and shortcut keys on modal buttons, are infuriating)
I've installed brew both in the historical /usr/local location as well as the future home of /opt/homebrew. I then created these two aliases:
alias armbrew="/opt/homebrew/bin/brew"
alias intbrew="arch -x86_64 /usr/local/bin/brew"
My PATH selects for programs installed in the /opt/homebrew location first and then /usr/local. I try to install with the ARM version first with `armbrew install -s <PKG>` and if it fails, I move to using the `intbrew` alias as normal. I haven't really had any issues.It's obviously still messy but not in a way that is too bad!
Duplicate iTerm.app, right click & "Get Info", check "Open in Rosetta". Now install homebrew how you would on an Intel Mac and everything will work.
For less technically adept users (ie. most users) the animations and spacings mostly seem to help them understand what’s going on. I know everyone has their preferences, but I don’t really get the level of griping that accompanies every release.
On iPhones, you can only "reduce motion", which still has the "moving through molasses" feeling, replacing them with a fade in/out. Can you truly disable most animations in MacOS, or are they simply replaced with fade in/out animations?
Cmd + i on terminal.app, rosetta mode.
I buy a new MPB every two years, and you bet your ass my next one will be an M1. But that'll be in 2022, I'll be quite happy to stay on my x86 machine until then :)
So much this. I used to run Windows 7 in classic mode and really liked the low footprint, no nonsense appearance. Windows 10 has no such mode.
I wonder if we will see Linux support
Edit To clarify: i mean, linus is saying he wouldnt go to the trouble personally, not that he would reject a patch adding support. Those are two very different things.
Edit: It's not like Apple has any (commercial) interest in working with the Linux kernel developers to ensure support/compatibility even if the M1 is ARM based.
Edit 2: Don't get me wrong, if Apple announces they will support Linux I'll run out the door and buy one now, as a MacOS user.
Edit 3: And this is a criticism against Apple running Intel x86 chips. Do you really think the M1 future is looking rosy for Linux?
> I wonder if we will see Linux support
I think fairly soon, we'll have Linux running nicely on Apple Silicon Macs, using the hypervisor built into macOS. And it will run faster than comparable Intel machines.
Apple gets the importance of Linux and Docker for developers; I'm pretty sure it'll get worked out.
I've got a 5ish year old desktop and Chrome runs, afaict, pretty much instantaneously. At least I don't notice a perceptible delay. I'd be interested to see a side by side comparison of page renders on M1 vs an older laptop.
Hey, what if we just... kept it that way?
Kiss all that speed goodbye once software developers get their hands on this. And then the low end current-gen models will be even slower when running "the code that runs ok on the M1 hardware, I guess, ship it."
I'm actually in this situation right now. I develop a web application for event management. In some cases it's being used on older Chromebooks, where speed is, well, not there. While I'm testing on Chromebooks, I'm definitely not building my front end bundle on one. The faster machine I'm on, the faster I can iterate on building fast data tables, making intelligent choices about asset loading, etc.
So yeah, I think something like the Network Conditioner prefpane should exist to simulate a slow CPU for testing (does something like this exist?). But I very much enjoy my fast dev machine and I think it'll have the best overall outcome.
Traditional macOS users valued the Mac user interface deeply, and IMO that was why while iOS 7 got a big refresh, macOS got a much smaller one, only with flatness refinements. Big Sur feels like the iOS 7 for the Mac, and I’m very sad that I’ll have to wait at least 4~5 years to see the new interface improve in a better state.
Some of my key annoyances (except for bugs):
* The new control center now requires more clicks, but due to the padding getting bigger, I can’t put all of the shortcut icons in the menu bar
* The new control center and notification center’s UI is so foreign from other parts of the macOS. It’s just… so custom.
* There are now multiple variants of the title bar thickness, and all of the Apple apps now use all four. It just feels ugly. The title ban of the Photos app and the Calendar app are almost the same — why does one use a .unified one and one uses a .unifiedCompact one? And why does Safari uses a .unified one when it doesn’t really have any information to convey?
* This is from Catalina, but the NSSwitch stuff collides with checkboxes… but well I’m guessing that’s for Catalyst trying to look native
I can go on and on… but my general feeling of Big Sur’s UI is that it would take multiple years to make this better.
It used to be that focus stealing on OS X was a cardinal sin and now no one cares. If they only fix a single thing in the entire OS, it should be this.
Apparently it’s all SwiftUI, which makes it look strange and animate weirdly.
On my personal iPhone, you swipe from the bottom to get Control Center, and on my work iPhone, you swipe from the top corner. If you want to send the output of one program to the input of another, you click share, move past a bunch of Contacts and Airdrop etc that I don’t think I’ve ever used in this way, swipe left/right to find an app, don’t find it, and either need to click an “Add” or “Other” button OR you need to swipe further down to click More..., until you can select thing you actually want.
I have so many gripes with the whole system. I almost believe that they are trying to make the thing harder to use so that they can create a dark-pattern around feeling a sense of mastery...but when I was trying to walk an elderly relative through the menus over the phone, it became especially obvious just much specialized knowledge the iPhone requires in order to do the very most basic of things, and almost NONE of it is discoverable.
I'm on the developer side and I don't know if I count as traditional macOS user but I've personally bought 3 macs (including the current M1 one) and use another mac from my company to work.
IMO I have almost 0 interaction with mac user interface. My time are either spent in terminal or in a browser. There's little need to 'interface' with whatever UI mac comes with.
I love mac mostly because of its hardware form factor and its shell. I can't tell you any GUI gimmick despite using it as my main driver for years.
When I installed a beta of Big Sur this summer, at first I was taken aback by the interface… and some of the application icons were pretty bad.
Now that Big Sur is my daily driver and it's more polished, I've grown to like the new interface—and I didn't think I necessarily would.
The UI changes are just completely nonsensical to me, and despite the initial announcements of the speed benefits of the M1 I was set on trying to go back to Linux. But now with articles like these I have to admit it feels tempting...
Of course it is. Our phones are intimately close to us. Physically, cognitively, socially and even emotionally. They may be the most widely-owned intimately-connected object humans have ever invented outside religion.
Our computers don't occupy as close of a niche. But they're in a similar space.
I agree with your observation that the new OS feels like molasses. I wish they went for a "snappy" feel. (Though keyboard shortcuts get around that.) But ignoring that Macs and iPhones are objects of fashion as well as computing devices misses a deep part of what Jobs saw that technologists missed.
I think the beauty of the iPhone lies in its elegance, but I suspect I'll always code on my Linux computer.
Apple has chosen to make everyone live in its crazy world. Letting users skin the OS would be a better choice.
There's a huge amount of skinning going on with iOS 14 now [1].
[1]: https://mashable.com/article/how-to-customize-ios14-home-scr...
This may be the case for "casual" computer users, but not for "power" users.
For the most part, you are correct. Yes there are design trends, but that isn't the primary factor here. Staff designers have to justify their existence by making changes to established design patterns. They don't have to be good, just different.
Bonus points for following a public design trend, but so long as the visual diff is big enough, you get your pay check.
Yet another example of the bullshit jobs David Graeber warned us about.
There is an orthogonal axis - which is functionalism. You can continue to make products that are both luxurious and functional. See Olivetti (Sottsass), Braun (Rams), Herman Miller, Vitra, USM, etc. I think they are pretty fashionable products if we considered their popularity and some of them are in MoMA as iconic designs. Apple seems to be going negative on the axis of functionlism past few years. What if I told you that you don't need to make something look ugly to make it functional, utilitarian and usable?
I think they can make UI very marketable + functional if they hired the right folks. In fact, Apple is going back to skeumorphism (hey, its called neuomorphic UI now). Have you seen the battery icon? This kind of trend chasing without any purpose is my main gripe. Also, the windows 95 comment was sort of tongue-in-cheek to exemplify how bloated modern operating systems have become.
that may be true, but businesses would be keen to also give us what we need more than just what we want... thats how you get "faster horses" vs the automobile
> Of course it is. Our phones are intimately close to us. Physically, cognitively, socially and even emotionally. They may be the most widely-owned intimately-connected object humans have ever invented outside religion.
"Phone" =/= "UI"
but that said, I'm actually puzzled as to how "fashion" plays such a central role in your model of human society. Even if UI was the fetish object (which it is not) in what sort of cultural matrix does the core fetish object mutate constantly "like fashion"?
You don't even need to go as far as Windows. Classic Mac OS would be just fine.
You'd have to redesign it somewhat for the higher resolution screen, and so there are many improvements in typographical rendering you would also want to include, plus Win95 was in some respects still inferior to System 7, but overall, yes, there is a certain directness to that era of OS UIs (see also Motif & BeOS).
But I suspect it is a consequence of the incessant screaming by all the hipsters and clueless morons that think iOS and macOS should be merged for no other reason than their belief in MORE is MORE. No LESS is MORE, and that is what Apple was built on.
So yeah I feel your pain even if I have a slightly different take on this. macOS should be primarily designed to be the ultimate OS for somebody using a mouse and keyboard. iOS should be optimized for touch. We don't need to merge these two world. That is what clueless MBA types of people think. Because all they can think of is things like "synergy effects"...
I’d be up for that since I currently use an iPad and a win10 laptop.
They're gonna make a touch screen Mac, whether it be in the form of a laptop, iMac, or an iPad running macOS.
Preferably one like gentoo or alpine.
==> the differences are there between OSX and GNU/LINUX
"Docker" on macOS runs in a Linux VM under Xhyve iirc.
I imagine they will make an ARM version but your x86 images are probably toast unless you can emulate them somehow.
Doesn't your article here go directly against what you're saying? https://neil.computer/notes/hacker-news-design-is-ugly/
Specifically, you redesigned HN to have more "pop" and have rounded corners and padding: https://neil.computer/content/images/size/w1600/2020/07/Scre... which is exactly what you were saying macOS looks like...
Isn't that hypocritical?
I absolutely adore HN's design. 100% serious!
WTF?
I mean I get most of what you said until that. I vastly prefer the Catalina and every version of MacOS over the past 15 years versus anything out of Redmond, and particularly not W95. (Heck I used Window Maker prior to MacOS, my love for Next ancestors goes back some time)
I hear a lot of people are frustrated with Big Sur. Hopefully Apple will dial back a lot of the egregious UI updates. They frequently go big on new redesigns, then dial things back. Hopefully.
What is gained here if we're just still applying faster cycles to Apple-esque wasteful (and perhaps harmful, as we're apparently learning re: their telemetry) software?
If people really dig their Apple stuff, great. But I think its worth thinking about the likelihood that a "slower" computer running Linux could probably serve the actual user better in terms of "getting stuff done." Moreover, I think we're pretty close to "beauty" parity here as well. Apple's advantage now is probably mostly the networked devices, i.e. unity between phone and pc messages, etc.
After reading the article, which linux-compatible laptops, would you say, come the closest to compete with the new generation of Apple products? Long battery life, plenty of power, good screen, good speakers? Is it the inevitable Dell XPS 13 and Thinkpad X1 Carbon, or are there any other darlings among the linux community?
Check out System76, their Linux support is unparalleled. The lemur pro is interesting. I don't know if you'll find the specs for the screen/speakers, though.
I got the XPS 13, myself, but it still requires 'tweaks' - like running thermald master so your system doesn't throttle down too much after a short 'boost', and running kernel 5.10 because it allows your CPU to enter the PC10 power-saving state (Ubuntu's oem-5.8 may have this backported, I haven't checked).
As always, install your favorite user-agent spoofer as well. I just ran into a problem with some web videoconferencing software that works fine, but you have to tell it your running Win/Chrome.
This is why people say desktop Linux isn't here yet. It kinda is, but only if you're an expert (or want to be forced to become one)... I still love it, though, and always will.
https://www.anandtech.com/show/16252/mac-mini-apple-m1-teste...
So the Tiger Lake TDP is of multicore usage, not single core.
I've seen a youtube review demonstrating that its speakers are abysmal [0, around 7:30 minutes in]. I have a feeling that this is the quality that is to be expected of Clevo laptops :-(
When there's a technological jump, there's not much you can do.
There's not a laptop you can buy that close enough to the M1-based MacBook Air or MacBook Pro to matter really.
You can't get something as light, as powerful and with the battery life these machines have.
Look, Apple demonstrated Debian running in a VM on an Apple Silicon Mac in June, so we know it's possible. And I'd bet dollars to doughnuts it's blazing fast.
You saw the comments in the article; people are talking about more than a day without having to plug these devices in. People are rendering 8k video while doing other stuff with no slowdown and without hearing the fan, in the case of the MacBook Pro.
These machines can drive up to six displays using DisplayLink adapters. Just nuts.
"M1 Macs Able to Run Up to Six External Displays Using DisplayLink Adapters": https://news.ycombinator.com/item?id=25199444
I just bought the XPS 15 (2020 model) in the i7-10750H / 16 GB / 1 TB / 4K touchscreen configuration, with 4 years of extended warranty, and it set me back $3000 USD here in the UK. This was with 16% Dell Advantage discount. For comparison in the US a slightly better package with 32GB of RAM is currently up for less ($2,750, so more like $2,900 after sales tax I guess). Retail.
I've also bought the exact same configuration and package, refurbished from the Dell Outlet, in the standard HD resolution for $1,900. This one has yet to arrive.
So how does the 4K XPS fair in Linux?
I booted in to Ubuntu 20.10 using a USB stick and... the keyboard didn't work. For some reason Ubuntu brings up the on-screen keyboard when I use the touchscreen, but the physical keyboard is completely non-functional.
Fedora 33 live? No wifi.
Manjaro XFCE worked great. I was pleasantly surprised (once all the 4K related scaling settings were fixed) how good it looked and how well everything just worked.
Paying $1,100 for a 4K touchscreen upgrade that causes nothing but problems on Linux is a hard thing to justify and, unfortunately for Dell, the screen on the XPS is probably its biggest selling point right now. Now M1 is a known quantity they really need to discount these laptops imho.
On the XPS you only get 3 USB-C ports, and one is constantly in use for me because I rarely unplug. I will be needing a stupidly expensive dock, so I have no idea how anyone can cope with just the 2 on the XPS 13. The keyboard is better than average but still pretty harsh, the touchpad has borderline build quality (springboardy) and is too large for my tastes (and I miss physical buttons), and the although the screen is gorgeously sharp and bright the fact that it's glossy still causes reflections in my home office.
I do not think I will be keeping either laptop, and instead I'm looking toward the X1 Extreme Gen3, with its better port options, keyboard and build quality.
This is just not true. I'm sorry but I've used linux on the desktop many times, using many different distros, and many different desktop environments. It's shiny and pretty when you first install and then very quickly you run into apps that don't follow that design methodology and it takes you out of it. Desktop linux is not ready for average users and honestly it may never be. Also "getting stuff done." and desktop linux do not belong in the same sentence. I've personally spent and watched coworkers spend hours and hours tinkering with graphics cards drivers or other random quirks. Linux is amazing, don't get me wrong, it's a workhorse with immense power and the ability to tinker to your heart's content BUT most users, myself included, don't want to put in the upfront and ongoing work to keep it in tip-top condition.
I will forever use linux on servers and enjoy every minute of it but for the desktop linux is nowhere near ready for primetime. I've watched too many people online and in-person preach about linux on the desktop and then watched them having to spend tons of time tinkering with it so they can "get stuff done". Is it possible to be productive on the linux desktop? Absolutely but I value my time way too highly to spend the effort to make that a reality.
Also, I really can't sympathize with this implication that not following the platform UI principles is somehow fundamentally "breaking" the user experience. It's virtually impossible to find two mainstream, popular, "good-UX" Win10 or OS X apps that follow some mythic standard UI.
The only difficulty I had was installing Docker, but an hour later I had that and my other required programs installed and I was able to be productive.
It took me less than three hours to make a USB stick, install, and get my programs needed for me to code again.
That said, I had also tried Ubuntu and found it a not-so-great experience. I had to look for a few different drivers and learn how to install them from the command line. After that it was fine, but I didn’t like the UI and didn’t really want to spend the time learning how to tweak it to my liking.
So I think the right distro really matters in the case of making Linux attractive to common users. IMO Cinnamon/ Mint is the one for that.
I'm using Fedora 33 on my personal laptop with nvidia drivers. And never needed to install any drivers for my work laptop.
Upgraded both laptops 3 times from Fedora 30 without a hitch.
And it's a one step process using a graphical interface [1].
What I'm saying is that (in my own experience), linux of today is very different from linux of 10 or 20 years ago. I've had my share of problems before, installing drivers for graphic cards and modems back in the "00"s but I think that most linux distros have come a long way since then.
Linux may not be the best choice "getting stuff done" for an average user. But, from my own experience, for a software developer it's a good choice. And in the company I work for, most developers have hp elitebooks with fedora installed. (I'm picking software developers for the comparison because they represent a significant portion of macbook pro users).
[1]: https://docs.fedoraproject.org/en-US/quick-docs/upgrading/
This is like complaining that a Hackintosh is buggy and requires tinkering. If you want a polished experience, buy computers with first class Linux support from vendors. Even better if you buy machines with Linux preinstalled.
> Desktop linux is not ready for average users
If ChromeOS would suit a user's needs, then so would a polished Linux distribution like Ubuntu with Firefox or Chrome, most of the time.
Everything else I can deal with, not having those two work out of the box just sucks.
Also, if you have a headless Linux server (even in a virtual machine, say Hyper-V), I don't really see how you will get less stuff done by using any other OS.
Your comment is based on some sweeping claims with no supporting evidence — can you point to something specific you think is wasteful, alleged harmful telemetry (not Jeffrey Paul's misunderstandings about OCSP), or prevents “getting stuff done”?
As someone who started using Linux as a desktop OS in the 1990s I would especially suggest that if smugly-nonspecific sneering at other operating systems was an effective advocacy strategy the number of Linux desktop users would be a lot greater than it is now.
It's partly a personal thing but I think that you have to look at the evidence in the marketplace - people switch to Linux for philosophical or technical reasons but not generally due to the user experience. Denying that evidence and pretending that it's otherwise isn't going to change that situation especially now Apple has an imminent hardware advantage.
Everything I need to do on it runs like a dream. Installing software is easier than anything, especially since I just use the GUI for that. I've had more trouble with Mac and Windows.
Even other Linux distros that I've tried don't really stand up to Manjaro. Ubuntu and other Debian derivatives have you hunting down PPAs and using the terminal to add things - maybe that's the "tinkering" that annoys people? If so, I wholly recommend you try Manjaro or another Arch based distro.
There is strong opposition to the idea of paid app stores on Linux but almost all the best software I use is paid, because it takes teams of people working hard to build it. This is actually the most critical issue imo.
Linux has come a long way but I think they are understandably reluctant to hear bad news that it's still not good enough compared to the alternatives, even if it's much much better than it was.
Not Intel or AMD talent, Apple talent.
Apple completely fucked the pooch on the previous gen(s?) when it came to design.
They don't get points for fixing an utter fuck up. That should have triggered a recall, imo.
However, the performance of M1 looks hella solid, and kudos to them. I'm gonna stay with Linux because I'm comfortable in it, but innovation is never a bad thing.
INB4 walled gardens and code signing: stop drinking the koolaid and do your own research
Oh no crap Sherlock! Let me save this quote whenever someone wants to tell me all about how GC is much superior than reference counting.
Yes tell me how a stop-scan-mark-sweep periodic process is more efficient than just keeping track of what you do.
I realize the reducing in power consumed for any given quantity of work is downright amazing for laptops, but I guess I'm more curious about workstation and (build) server kinds of applications.
Also, how many of these benchmarks are x86 versus Apple Silicon where both are running Big Sur. I've been seeing so much "Xcode on Catalina" versus "Xcode on Apple Silicon on Big Sur"
What about Windows and Linux on x86? Also too lazy?
It can be fun to put on the tin foil hat, but at least make sure the theory makes even a little bit of sense first.
No, Windows and Linux are significantly faster.
https://www.phoronix.com/scan.php?page=article&item=macos101...
Ubuntu has gotten significantly faster since 19.10, and other distros like ClearLinux are much faster still.
https://www.phoronix.com/scan.php?page=article&item=clear-fa...
What I meant was that Apple themselves talked about significant optimization for Apple Silicon in Big Sur. The question is if any of these optimizations could have also been applied to x86 but aren't because x86 is the outgoing platform.
I'm skeptical of the assertion (without supporting documentation) that there is some hardware design choice in Apple Silicon that makes it _drastically_ more memory (quantity) efficient than x86 when using presumably the same kernel, same toolchain frameworks (LLVM), etc.
This statement is nonsense. Reference counting is typically used in garbage collection. https://en.m.wikipedia.org/wiki/Reference_counting
It is equivalent of saying "On iOS devices the memory efficient Chrome app can be used, but on Android phones a browser is used, which requires more RAM for equivalent performance."
No, they are not equivalent.
It is true that reference counting is a form of GC. However, Java's GC is not based primarily on reference counting. It is much more complex and, generally, does indeed use much more memory.
Swift's reference counting is not much different than C++ shared pointers, except that it is all baked into the language. It is generally true that iOS devices require less memory to achieve the same things as Android devices.
While you _can_ implement a garbage collector with reference counting, and in the broadest possible definition of 'garbage collector' you could call Apple's use of reference counting a garbage collector, no, what people typically call garbage collectors are not, today, typically primarily dependent on reference counting.
These people forget about Pro users and still sees a laptop as an iPad with keyboard.
Pro users need the machine to -heavy- work, and rely on compatibility (software and hardware). Also, I work 90% of the time on my desk with the power adapter connected. So battery is far below in my priority list.
So far, MKHB was the only decent review I found. I suggest serious users to watch it.
I will withhold my enthusiasm or judgment until it has been I'm the hands of real users for six months or so.
In principle, I have never seen a Mac product that lives up to the hype. I might be harder to please I guess
There are bound to be issues with Rosetta2 that will be found and hopefully patched. Same with the new OS.
I predict some problems with hardware as well.
To me this is common sense.
This is a gigantic step. A gigantic release.
Such events nearly always have issues.
Which is why so many software developed work With continuous delivery.
Though we might think this is how the development Took place internally.
I do not know how many dev machines were handed out prior to the launch
Like anyone I would like all the glitter and fanfare to be real and accurate. .