News for hackers. Stuff that matters.
Re:Apple's follow-up to M1 chip goes into mass production fo... by Klonoar on Tuesday April 27, 2021 @12:23PM (#26958060)
If you don’t run Electron apps, even an older Mac will fly. My 2015 is still astoundingly fast, it just doesn’t have Chrome bogging it down.
Re:Apple's follow-up to M1 chip goes into mass production fo... by inDigiNeous on Tuesday April 27, 2021 @03:33PM (#26960410)
This idea that Electron apps are inherently somehow slow is starting to bug me out. While writing Electron version of our graphics heavy web application, I noticed that the memory usage or CPU consumption is not a lot higher than some other native applications.

We have taken careful care in order to write fast and memory friendly javascript if possible, avoiding using slow features of the language (the list is long, but things like forEach loops, ineffecient data structures etc) and taking care to profile and optimize.

Result is an application that feels almost as fast as native and doesn't really consume so much memory even, although we are doing canvas based graphics realtime.

My suspection is that many web-developers (and thus, qualified to developer for Electron) just don't have the tenacity or background to write efficient code.

You can write slow-ass molasses javascript code very easily. Just take somebody who has done webdev for maybe like 2 - 3 years and doesn't have any other deeper CS background. Watch what kind of memory inefficient and slow code structures, especially with javascript where you don't really understand how heavy an operation like map() can be in worse cases, or where you are creating copies of your data multiple times for example, and voila, you have a slow-ass memory-hogging electron application.

Maybe I should do a blog post about how our Electron -application is performing just to show people that you can write fast code using javascript also. But it takes skill and time, and maybe in this current day what matters is just cranking out builds that work somehow.

Re:Apple's follow-up to M1 chip goes into mass production fo... by heipei on Tuesday April 27, 2021 @03:55PM (#26960690)
I'm a self-taught JavaScript developer (front- and back-end) and I would love to read such a blog post. I mostly use language features for their expressiveness (map, filter, forEach) and rarely think about their performance implication unless there is reason to believe some piece of code is in a performance-critical path. However with a guide I might reconsider some scenarios where I'd be willing to give up expressiveness for performance.
Re:Apple's follow-up to M1 chip goes into mass production fo... by inDigiNeous on Wednesday April 28, 2021 @04:32AM (#26967080)
Thanks for the encouragement. I will look into this more and write a blog post about, it is actually something I wanted to do for some time now, I'll make sure to post it to HN also and report what we have found ..

We have been developing this application since 2011 already, and I also develop in C++ and 3D graphics, so performance has been something I've had to think.

But yeah, there are many guides on what to avoid in JS already, how to optimize for speed and memory. But it is not definitely an easy thing to realize, as it's not inherently visible what can be slow and what not. Most blog posts at this time talk about how to optimize for the V8, and I'm not really interested in that so much, as it can be taunting to try to understand how V8 works for example.

Re:Apple's follow-up to M1 chip goes into mass production fo... by greggman3 on Tuesday April 27, 2021 @10:11PM (#26964639)
Re:Apple's follow-up to M1 chip goes into mass production fo... by Klonoar on Tuesday April 27, 2021 @07:03PM (#26963102)
You're not wrong, but at the same time, if 99% of Electron applications are slow, then I have no problem calling Electron (as a movement, not a technology) slow. It is also pretty evident that default Chromium itself is a complete battery slog.

You can make an Electron app not slow/a battery hog, but it requires working backwards from a state of "what on earth is going on under the hood here". This is the inverse of building a native application, where that complexity is often introduced by you. I personally find this significant - you can teach someone how to avoid the latter, but it can require crazy amounts of insight to learn to debug the former.

It is 100% possible to build better Electron apps. I trust almost nobody to actually commit to doing it.

Also, particular yet tangential to this thread: apps like Signal or Discord which still make their Electron apps run under Rosetta 2 on an M1 are a nuisance. I just run Discord in a browser tab at this point.

Re:Apple's follow-up to M1 chip goes into mass production fo... by inDigiNeous on Wednesday April 28, 2021 @04:37AM (#26967121)
Yeah it's true. Of course native code will perform by default faster and be more battery friendly, but V8 is also very optimized and can perform easily like 80% of native speeds if given some thought.

Yeah many people do not just have the time to look into this, and most companies don't really care, as we have so much RAM and CPU power these days, so I can see why for example many messaging apps just choose to write their app in Electron, instead of trying to figure out how to do it natively cross-platform, which can be a more PITA especially when you also have web as a platform.

Re:Apple's follow-up to M1 chip goes into mass production fo... by Klonoar on Wednesday April 28, 2021 @03:04PM (#26972877)
>can perform easily like 80%

This feels like... a trap.

I think there's a complexity in doing that which could be summarized as follows: it's possible, but the more complex your codebase, the more difficult it is to reason about how to get to or maintain that 80%.

Even if we assume that 80% is the maximum, if most products (or the notable ones that we all complain about, I suppose) are hitting 50%, then... well, that's a problem.

For full disclosure: I've defended Electron on the merits of "there is sadly no better way to ship cross-platform UI-based software". I criticize it with this in mind.

Re:Apple's follow-up to M1 chip goes into mass production fo... by inDigiNeous on Wednesday April 28, 2021 @06:14PM (#26974914)
Yeah maybe 80% was over-estimated. Depends on the usecase, I've also seen 50% in more cases, but at least according to my experience 70-80% is realistic in some cases.
Re:Apple's follow-up to M1 chip goes into mass production fo... by mike_d on Tuesday April 27, 2021 @06:52PM (#26962986)
It isn't just Electron, Node is also plagued by its own low barrier to entry.

One of my former employers had the great idea of hiring hundreds of "senior" JS devs and redoing the entire frontend of the website. When it launched to production the whole system scaled at approximately 1 enterprise-grade server to 1 concurrent user.

While I applaud your efforts to teach people how to write code faster, the majority of JS devs I have found just want to hit feature-complete and go home.

Re:Apple's follow-up to M1 chip goes into mass production fo... by kiawe_fire on Tuesday April 27, 2021 @11:02PM (#26965027)
IMO, it’s not just JS devs. Most of the backend PHP devs I work with are similar.

And when nearly every Stack Overflow post asking about performance implications is answered with a litany of “YAGNI” and “premature optimization”, its not hard to see why.

The current comp sci culture seems to discourage this in all but the lower level languages like C.

Re:Apple's follow-up to M1 chip goes into mass production fo... by N1H1L on Tuesday April 27, 2021 @04:09PM (#26960873)
Please write the blog post and share it to HN. I would really look forward to reading it and learning from it.
Re:Apple's follow-up to M1 chip goes into mass production fo... by inDigiNeous on Wednesday April 28, 2021 @04:39AM (#26967129)
Thanks. I will :)
Re:Apple's follow-up to M1 chip goes into mass production fo... by mrweasel on Tuesday April 27, 2021 @01:02PM (#26958590)
You can even go back to 2013 and not notice that you’re using a 7-8 year old machine. A MacBook Pro from late 2013 runs Big Sur and performs fine for most everyday use use case and any development work that doesn’t require an IDE. You just can’t run Chrome all the well, which should tell you more about Chrome than Macs.
Re:Apple's follow-up to M1 chip goes into mass production fo... by inDigiNeous on Tuesday April 27, 2021 @03:37PM (#26960462)
Still using a mid-2014 Macbook Pro with 16 gigs of ram and a 2.5 GHz quad-core i7 as my daily driver. Everything performs just fine to me, and macOS has even got faster during this time I've used the laptop, which is something to give credit to Apple for.

I use mainly VSCode these days though and Firefox, but even Unity game engine works just fine on this machine.

Any IDE I also throw at this machine works just fine. Only things that feel slow, are things that need a beefy GPU.

Re:Apple's follow-up to M1 chip goes into mass production fo... by hugi on Tuesday April 27, 2021 @01:15PM (#26958771)
I do all my work (java/postgres etc) on a 2012 i7 Mac Mini. It used to be my home media server but I started using it as a "temporary machine" last year after killing my 2018 15" MBP by spilling water over it. I was planning to replace it with an Apple Silicon machine once they became available, but it's performing so well I'm more than happy to keep using it while waiting for a 15" or 16" M1x/M2. Amazing little machines.
Re:Apple's follow-up to M1 chip goes into mass production fo... by vladvasiliu on Tuesday April 27, 2021 @01:54PM (#26959213)
> and any development work that doesn’t require an IDE

Probably depends on the IDE and the language. My impression is that newer computers (especially in the "consumer" / "general public" market) have especially improved efficiency. They're not much faster, but they last longer on smaller batteries.

My late 2013 15" (2.3 GHz / 16 GB RAM) works great with Pycharm for moderately sized projects. It's even usable for personal Rust projects (with the intellij-rust plugin).

For Rust it's somewhat slower than my i5-8500 desktop but not by much. For incremental compiles, I don't feel like I'm waiting around more. The i5 mainly wins when it can use all six cores.

It's however quite a bit faster than my work HP ProBook with an i5-8250U which is a much newer machine (2018 I'd say).

Aside from battery life, which is somewhat lesser, all in all the mac is a much, much better machine than the HP, especially for "creature comforts": gorgeous screen, no misaligned panels rubbing against my wrists, great trackpad, no random coil whine, inaudible fans unless it starts compiling for a while, no background noise on the headphone out, integrated optical output when I want to use my home stereo.

Re:Apple's follow-up to M1 chip goes into mass production fo... by Hamuko on Tuesday April 27, 2021 @01:59PM (#26959251)
My early 2011 MacBook Pro definitely isn't fast but it's usable for checking out a couple tabs worth of stuff on the sofa.

My work 2019 16-inch MacBook Pro actually doesn't feel that fast considering how fucking expensive it is.

Re:Apple's follow-up to M1 chip goes into mass production fo... by knolan on Tuesday April 27, 2021 @02:17PM (#26959471)
My 16” had two speeds.

Quiet and cool with about 11 hours of battery life when writing, reading or some simple productivity stuff.

Fast but loud and hot when doing anything else with about 3 hours of battery life. Even the Touch Bar (which I don’t hate, but I also don’t love) is uncomfortable to the touch.

It seems there is no in between. I’m generally happy with the machine, but I’m very interested in what’s next for the big MBP.

Re:Apple's follow-up to M1 chip goes into mass production fo... by tandr on Tuesday April 27, 2021 @02:10PM (#26959389)
My fully-loaded 2019 16-inch MacBook feels VERY underpowered actually - once you try to use all the cores (multiple compilation threads, parallel tests with multiple docker images running), it goes into what I would call a "heat shock". I suspect throttling kicks in and cpu charts in Activity Monitor become close-to-death flatlines. Oh, and the fan noise becomes non-ignorable too.
Re:Apple's follow-up to M1 chip goes into mass production fo... by Hamuko on Tuesday April 27, 2021 @02:14PM (#26959435)
Yeah, full utilization leads to throttling, guaranteed. Although apparently it can get much worse than what I've had, down to like 1.0 Ghz.

I've also had issues with the laptop waking from sleep, where it'd either hang for up to minutes, or just outright kernel panic. Big Sur seems to have fixed the kernel panics but waking from sleep still feels really slow.

Re:Apple's follow-up to M1 chip goes into mass production fo... by Klonoar on Tuesday April 27, 2021 @02:27PM (#26959590)
You know, I believe you on the 2019 - I've heard this from more people than I care to admit, and makes me glad I skipped that year.

I think from 2016-2019 was a rough era for the MacBook Pro when you factor in price for performance; still great machines, but they didn't feel as polished as the 2015 MBP or the 2020 M1's.

Edit: year banding.

Re:Apple's follow-up to M1 chip goes into mass production fo... by selectodude on Tuesday April 27, 2021 @03:06PM (#26960071)
My 2016 MacBook Pro has been an absolute pleasure to use. It's small, light, great battery life, plenty of performance, I consider it the second incarnation of my favorite laptop ever, the Titanium PowerBook G4.

Except for the keyboard. Been replaced three times. It's defective by design. Such a letdown.

Re:Apple's follow-up to M1 chip goes into mass production fo... by josephg on Tuesday April 27, 2021 @07:37PM (#26963490)
I have the opposite experience with my 2016 MacBook Pro. It feels really sluggish to me now. 2 cores is nowhere near enough, and the integrated graphics chip doesn’t feel fast enough for everyday tasks if you have external monitors connected. I’m on a video call in discord the machine lags so much it’s unusable. Xcode with swift is basically useless - it lags so much sometimes doing who knows what that it drops keystrokes. I had the monitor stop working because of the design fault right before two back to back conferences. And the keyboard has been replaced once and is now having issues again. Compiling rust on the machine is about 8x slower than my new ryzen based development machine.

We’re in a golden age of cpu improvements. A dual core 2016 mbp isn’t good enough for me any more.

Re:Apple's follow-up to M1 chip goes into mass production fo... by inDigiNeous on Wednesday April 28, 2021 @08:48AM (#26968713)
Interesting. How much ram do you have ? Using a 4k external monitor ?

Just wondering, don't those cores still have HyperThreading or such, resulting in actually more cores than just 2 physical ones ?

Re:Apple's follow-up to M1 chip goes into mass production fo... by selectodude on Wednesday April 28, 2021 @02:06AM (#26966191)
Ah, I have a quad core with a discrete GPU. Might make all the difference.
Re:Apple's follow-up to M1 chip goes into mass production fo... by bartvk on Wednesday April 28, 2021 @01:31AM (#26965949)
Try compiling stuff. There's definitely a difference in speed when I use Xcode on the 15" 2016 MBP, or the 16" 2019 MBP. It's got an additional four cores, and it's noticeable to me.
Re:Apple's follow-up to M1 chip goes into mass production fo... by taysondev on Tuesday April 27, 2021 @05:28PM (#26961818)
I actually used a MacBook Air 2011 up until summer 2020 as my main home computer. The only reason I even bought a new MacBook was because I couldn't get the newest version of macOS which I needed for the latest version of Xcode.

Finally sold the 2011 MacBook Air a few months ago for $300. I got so much value out of that laptop.

Re:Apple's follow-up to M1 chip goes into mass production fo... by Toutouxc on Tuesday April 27, 2021 @03:07PM (#26960077)
My old 2013 is still a charming little machine. I made my GF "upgrade" to it from a random ~2017 HP plasticbook and she loves the thing. 4 GB of RAM can still fly if you only run native apps.
Re:Apple's follow-up to M1 chip goes into mass production fo... by Angostura on Tuesday April 27, 2021 @07:04PM (#26963115)
This late 2012 iMac is still my main machine (with a new big SSD). Oher than for gaming and Adobe Premier, it is perfectly happy with what I throw at it.
Re:Apple's follow-up to M1 chip goes into mass production fo... by coliveira on Tuesday April 27, 2021 @12:51PM (#26958454)
Exactly, I have a 2015 MacBook that works perfectly, unless I try to use electron-based apps.