←back to thread

292 points kaboro | 1 comments | | HN request time: 0.208s | source
Show context
klelatti ◴[] No.25058716[source]
> it is possible that Apple’s chip team is so far ahead of the competition, not just in 2020, but particularly as it develops even more powerful versions of Apple Silicon, that the commoditization of software inherent in web apps will work to Apple’s favor, just as the its move to Intel commoditized hardware, highlighting Apple’s then-software advantage in the 00s.

I think Ben is missing something here: that the speed and specialist hardware (e.g. neural engine) on the new SoCs again give developers of native apps the ability to differentiate themselves (and the Mac) by offering apps that the competition (both web apps and PCs) can't. It's not just about running web apps more quickly.

replies(8): >>25058922 #>>25058980 #>>25058990 #>>25059055 #>>25059382 #>>25061149 #>>25061376 #>>25067968 #
sanketskasar ◴[] No.25058980[source]
Yes, but there have been instances of Apple (and in general, ARM as well, though not as much) adding special instructions to the A series chips to make JS execution faster. They can make web apps run better than other platforms. And then they can make native apps run even faster. Both are a advantage which the competing ecosystem doesn't have.
replies(5): >>25059338 #>>25063915 #>>25067255 #>>25067262 #>>25074638 #
simonh ◴[] No.25059338[source]
The special CPU instruction for JS thing is a bit silly. Javascript defines it's floating point rounding behaviour as what Intel CPUs do. ARM behaves differently by default, so they implemented an instruction to emulate the Intel behaviour specially to avoid Javascript running too slowly implementing the excepted behaviour in code.

This doesn't give ARM chips an advantage over Intel CPUs at executing Javascript for obvious reasons, once you know why they added it.

replies(2): >>25059610 #>>25060387 #
1. gsnedders ◴[] No.25059610[source]
And it effectively just sets the FPU flags, runs the instruction, then resets the FPU flags. It just avoids the JS VM from having change FPU flags repeatedly.