Hacker News new | ask | show | jobs
by agloeregrets 1865 days ago
In native Typescript compile of a very large angular app I see an even more dramatic 1:20s to 40s compared to a desktop i9. I feel as if the M1 may have been designed around a detailed and careful look at how computers and compliers work and then designed a CPU around that rather than the other way around.

It's like buying a car and modifying to take it racing vs buying a race car, the race car was designed to do this.

2 comments

>> I feel as if the M1 may have been designed around a detailed and careful look at how computers and compliers work and then designed a CPU around that rather than the other way around.

This is the position that Apple have set up for themselves with their philosophy and process. It would seem that Intel and AMD have to play a very conservative game with compatibility and building a product that increments support for x86 and x64. They can't make some sweeping change because they have to think about Linux and Windows.

Apple own their ecosystem and can move everything at once (to a large degree.) This also gives an opportunity to design how the components should interact. Incompatibility won't be heavily penalized unless really important apps get left behind. The improvements also incentivize app makers to be there since their developer experience will improve.

> It would seem that Intel and AMD have to play a very conservative game with compatibility and building a product that increments support for x86 and x64.

Talk to people who design chips. The compatibility barely impacts the chip transistor budget these days, and since the underlying CPU isn't running x86 or x64 instructions, it really doesn't impact the CPU design. There may be some intrinsic overhead coming from limitations of the ISA itself, but even there they keep adding new instructions for specialized operations when opportunities allow.

Exactly this. Apple has spent decades drilling a message into third-party developers: Update your apps regularly or get left behind.

Everyone who develops for one of their platforms is just used to running that treadmill. An ARM transition is just another thing to update your apps for.

App developers are incentivized in another way: software that takes advantage of new features or performance are often what Apple chooses to promote in a keynote or in an App Store’s featured section.
Typescript compilation doesn't use all the cores available on the CPU; I think it maxes out at 4 as of now [1]. This might be working well for M1, which has 4 high performance cores and 4 efficiency cores.

[1]: https://github.com/microsoft/TypeScript/issues/30235