Apple introduces M6 and M5 Ultra
971–980 of 1001 posts
Re: Apple introduces M6 and M5 Ultra
#972Earlier quoted context omitted.
My 2019 macbook pro recently started giving me CATERR errors. It's a seven year old laptop. Did you want to be buried with it? All in good humor, my guy, only wondering about your expectations. The error seems to be Intel related, Apple is the manufacturer, but you are out of warranty. What is your issue?
Muh nagios, I can’t be buried but I expect it to run forever like my Toyota. Apple has been caught before to deliberately slow down macs and iPhones. It doesn’t matter it has intel processor or not. Apple’s current suppliers are Broadcom and Qualcomm. Do you get to their throats? No. You blame apple since laptop is sold under apple brand.
Re: Apple introduces M6 and M5 Ultra
#973Earlier quoted context omitted.
> " the software has become bloated " Casey Muratori has a 20 minute talk on YouTube called "Clean code, horrible performance"[1]. Using an oft-repeated example in C++ he rewrites it uncleanly and then benchmarks. Removing Classes/subclasses/polymorphism: 1.5x faster. That overhead was like reducing an iPhone 14 to an iPhone 11 performance. Replacing Encapsulation with a table-driven calculation: 10x faster. That ove…
I write clean code with lots of encapsulation. Not C++ just an ecomm webapp but our business hinges heavily on time to load and we do great there. Clean code or messy code the thing that all fast code has in common - including your example is this: YOU FOCUSED ON IT. You measured it, then improved against the benchmark. You spent time and effort on it so it improved. That's it. That's the secret.
One is that the rewrite has 'mechanical sympathy' with the machine e.g. arrays without pointer chasing can fit more data in CPU cache with fewer stalls while it reads over the main memory bus and waits after every item. That should not be a surprise, it's knowable in advance. Why deliberately ignore knowledge about the machine when designing the code, then come back and use that knowledge?
Another objection is to the idea of "measure then improve". Imagine a delivery truck which loads parcels without checking their weight first, then drives the truck onto a weigh machine (profiling), then if the truck is overweight they unload each parcel, weigh them individually, find the one heavy one filled with lead weights, then repack the truck without it. That would be silly and inefficient, right? Now imagine they unload the truck and there's no single parcel which is surprisingly heavy and instead the goods have been packed with 'lead foam'. Who could forsee that would cause problems with the weight on the delivery truck? (Anyone!). Now what's the fix? Unpack and repack every parcel, rewrite the whole code. There's no accidentally quadratic here to remove, instead every tiny piece takes a few more microseconds than it needs to and those add up.
Another objection is "YOU FOCUSED ON IT' - this implies that there is some way you can design and write code that doesn't need any focus. Part of the point of the video is that the faster code is not harder to write, there's no complex algorithms, no compiler intrinsics, no deep knowledge; it doesn't take a focused performance expert to write a switch(){} instead of a subclass.
Another objection is your implication that performance shouldn't be a consideration until you measure it and find a problem, and prove that it is. Which is like saying that aeroplane design weight doesn't matter until after you build it and measure it and prove that it matters. Computers are finite and limited, why have we got to the stage of assuming they are infinite and unlimited, and then demanding proof that they aren't, over and over on a case-by-case basis? A 3D game can render a virtual world at 100 frames per second. Does a program which takes 3 seconds to show a username/password login prompt need enough resources for 300 frames of game until proven otherwise?
Another objection is that you are defaulting to 'clean code is the default, performant code needs measuring and benchmarking to justify itself in every individual case. Why isn't that the other way around? Less resource-wasting code as the default, and 'clean code' only when maintainability has been measured and proved to be a problem, and only in the parts of the codebase which have the highest maintainability problems?
If all the clean code, encapsulation, isolation, abstraction layers, are providing the developer benefits that are claimed - why aren't programs better? If it's now so clean and easy to refactor, why doesn't that translate to software that gets better instead of software that gets worse? Casey's example is that Visual Studio debugger updated the watch window in realtime while stepping through code, on single core Pentium 4 with 512MB RAM, and now on a modern multicore machine with 64GB RAM and an M2 SSD it can't do that. (RemedyBG can, so it's not impossible).
Re: Apple introduces M6 and M5 Ultra
#974Earlier quoted context omitted.
Reading Infinite Games, they tell an anecdote about a Microsoft exec on a flight telling an Apple exec that the Zune was a way better portable music player than the iPod. The Apple exec was just “yup, you’re probably right” and then soon after the iPhone dropped
To be fair, the Zune actually was a better media player than the ipod in almost every way. That wasn't a false statement. The issue was the abysmal marketing and "me too" attitude Microsoft had (and still has).
Re: Apple introduces M6 and M5 Ultra
#975From what I’ve noticed, Apple products have been getting worse in quality year after year. Sometimes they even ruin their own devices with updates... I guess it’s all because of marketing.
Re: Apple introduces M6 and M5 Ultra
#976Re: Apple introduces M6 and M5 Ultra
#977I was blown away by M1 Pro, and used it for 4 years before it became a little sluggish, and replacing it with an Asus S16 running on Ryzen AI 9 HX 370 (an excellent laptop). One of the main reasons was missing my old Linux setup. I've briefly tested M5 Pro in an Apple store and was surprised by how quick it felt and did anything. A tangible and significant difference, and I really feel it would be good getting it, or…
The globe key only works with Mac keyboards, which apparently Apple refuses to license? And all Mac keyboards seem to be terrible.
Sometimes, the main application window seems to go away; or when I open an application it opens with no main window? What is the point of that?
So close to being a world class operating system. In some ways, Windows feels superior in terms of having softer edges. I think you can work around the Mac's hard edges with third party software, but in that way it feels more like a hobbyist operating system.
Re: Apple introduces M6 and M5 Ultra
#978Earlier quoted context omitted.
Yep, vote with your wallets. It’s about time Apple learned that excellent hardware alone would not make up for what macOS lacks and where it fails for development.
macOS is fine, you guys are just overreacting… Is it perfect? No. Is it usable? Clearly yes.
Re: Apple introduces M6 and M5 Ultra
#979Earlier quoted context omitted.
Extraordinary claims require extraordinary evidence.
I’m mostly talking about their iPhones, where new updates sometimes make older models worse. I know a lot of people whose iPhones started lagging after iOS updates.
Re: Apple introduces M6 and M5 Ultra
#980Earlier quoted context omitted.
I have never owned an Apple product that didn't slowly get worse over time. After a couple iPads and MacBooks, I'm almost certain they are intentionally updating their operating system to slow down older products. Even worse is the removal of access to certain applications for older hardware in the name of security or compatibility. Meanwhile my Linux laptop continues to get faster every year as the operating system…
This may be true (not perceptible w/ my apple silicon Macs), but the important thing is that they get slower more slowly than my wintel gets slower (I blame disgruntled Windows and/or nvidia drivers devs....)